百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Linux下git和github搭建使用教程

wptr33 2025-01-11 17:46 26 浏览

一:linux下git和github搭建

1)、注册gihub账号:

github官网: https://github.com/自行创建即可。

登录,create repository新建仓库一个测试库test,创建完成。

2)、linux安装git环境

默认情况下基本都已经存在安装的,如果没有则安装

yum -y install git

3)、生成ssh key 密钥

ssh-keygen命令生成密钥,可直接默认,也可自己选择加密方式,如选择rsa加密方式

ssh-keygen -t rsa

一直回车默认即可,生成如下!

生产的密钥在家目录生成 .ssh目录里面,查看公钥:

cat ./ssh/id_rsa.pub

4)、在github添加公钥

登录github,在选项setting >> SSH and GPG key >> add new ssh添加刚才的公钥地址即可。

title随便填写即可

添加完成,用 ssh -T git@github.com 命令可检测是否成功。

ssh -T git@github.com

出现以下信息为成功。

[root@localhost ]# ssh -T git@github.com
Hi ! You've successfully authenticated, but GitHub does not provide shell access.
[root@localhost ]#

5)、配置git参数的username,email

这是因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

git config --global user.name "your name" //配置用户名
git config --global user.email "your email" //配置email

配置好后,可查看相关参数

git config -l

二: Git从本地仓库上传到GitHub

1)、创建进入一个目录作为本地库

这里已 testdir 目录为例,以创建 README.md 文件为例。

mkdir testdir && cd testdir
touch README.md

初始化一个本地库

git init

初始化后,本目录会出现一个隐藏文件夹 .get

2)、添加本地库并推送代码文件

添加文件到本地仓库

git add README.md

提交到本地库并备注,此时变更仍在本地。

git commit -m "first commit"

增加一个远程服务器的别名,也是本地仓库名,格式为:

remote add 别名 git@github.com:github用户名/仓库名称.git

这里测试添加一个别名为test_readme,用户名为theonyu,仓库名为test的仓库。

git remote add test_readme git@github.com:theonyu/test.git

将本地文件(刚才别名)提交到Github的test本库中。此时才更新了本地变更到github服务上

git push -u test_readme master

提交成功:

在github查看,文件也已经上传成功

其他命令参考如下:

git add README.md #添加文件到本地仓库
git rm README.md #本地倒库内删除
git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。
git commit -a ##自动更新变化的文件,a可以理解为auto
git remote add xxx git@github.com:xxx/xxx.git #增加一个远程服务器的别名。
git remote rm xxx ##删除远程版本库的别名
git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上

三: 同步github到本地仓库

在github仓库中右边code选项,可看到有三种方式

一般在linux采用ssh的即可,如将刚才上传的README.md下载至本地

git clone git@github.com:theonlyu/test.git

下载后,以仓库名为文件夹的方式存在当前目录。

下载方式差别参考:

git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以读
git clone git@github.com:xxx/test.git ##以SSH方式克隆到本地,可以读写
git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以读写
git fetch git@github.com:xxx/xxx.git ##获取到本地但不合并
git pull git@github.com:xxx/xxx.git ##获取并合并内容到本地

四:Git的分支管理

1)、创建分支

例子:在本地仓库目录创建一个branch.txt以分支提交。
git branch #显示当前分支是master
git branch new-txt #创建分支命名为new-txt
git checkout new-txt #切换到新分支
touch branch.txt
git add branch.txt
git commit -a -m "added branch.txt"
git push test_readme new-txt ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。

在github左上角可看到,new-txt分支已经上传成功,文件也存在了。主master却还没有新文件,因为没合并。

2)、合并分支

如果new-feature分支成熟了,觉得有必要合并进master

git checkout master #切换到新主干
git merge new-txt ##把分支合并到主干
git branch #显示当前分支是master
git push test_readme master #此时主干中也合并了new-txt的代码,test_readme为别名

在github中成功合并,新文件 branch.txt 也存在了。

3)、其他命令:

#更新远程分支列表
git remote update 别名 --prune
#查看所有分支
git branch -a
#删除远程分支
git push 别名 --delete 分支名
#删除本地分支
git branch -d 分支名

相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个else解...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。今天分享一下break和continue在代码中的执行效果是什么,进一步区分出二者的区别。一、continue例1:当小明3岁时不打印年龄,其余年龄正常循环打印。可以看...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。答案:CSS的盒模型是用于布局和定位元素的概念。它由内容区域...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录由浅入深,66条JavaScript面试知识点(一)由浅入深,66...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)1.vue的生命周期有哪些及每个生命周期做了什么?beforeCreate是newVue()之后触发的第一个钩子,在当前阶段data、methods、com...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...