git的远程仓库与分支管理

参考:GIT教程

1.搭建ssh环境

首先,创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "[email protected]"

邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。


第二步登陆GitHub,打开“Account settings”,“SSH and GPG Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:


2.关联远程库,并推送

首先在本地库路径下运行命令,git地址换成自己的git地址

git remote add origin [email protected]:Musing9*/*****.git

这样就关联了远程库.

如果上一步地址输错,可执行命令删除远程origin配置

git remote rm origin

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git push -u origin master

之后推送只需要执行:

git push origin master

3.从远程库克隆

git clone [email protected]:Musing9*/****.git

4.分支

4.1创建与合并分支

版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点



 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:




创建并切换到分支:

git checkout -b dev

等同于

git branch dev
git checkout dev

查看分支:

git branch

更改文件并提交:

echo "add a branch " >> readme.txt
git add readme.txt
git commit -m "add a branch"

切回master主干

git checkout master

此时dev分支领先于master分支,如下图:


下一步将分支与master合并:

git merge dev

此时,master内容和分支dev内容一致,因此可以删除分支:

git branch -d dev

分支工作完成时候可以选择是否推送到远程库github

git push origin master 

分支操作命令总结:


git分支冲突解决

git stash //保存现场,用于程序未写完临时需要返回其他版本
git stash list//查看保存的工作现场

工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:

git标签管理

git checkout master//切到分支
git tag v1.0 //加标签

查看标签

git tag









猜你喜欢

转载自blog.csdn.net/weixin_37058227/article/details/80566631