Git的分支管理与标签管理 (二)

2016-11-06  本文已影响0人  yohn

多人协作

利用git remote可以查看远程库的信息
<pre><code>$ git remote

origin
</code></pre><p>

也可以利用git remote -v显示更详细的信息:
<pre><code>$ git remote -v

origin git@github.com:michaelliao/learngit.git (fetch)

origin git@github.com:michaelliao/learngit.git (push)</code></pre><p>

推送分支

抓取分支

若你的同事已经向origin/dev分支推送了他的提交,而碰巧你也对同样的文件作了修改,并试图推送,就会发生推送失败,需用git pull 来把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送.
如果git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置devorigin/dev的链接:

<pre><code>$ git branch
--set-upstream dev origin/dev

Branch dev set up to track remote branch dev from origin.

</code></pre><p>

之后进行git pull

多人协作模式

  1. 首先,可以试图用git push origin branch-name推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

标签管理

tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起,而不像commit号绕口,不像分支那样可以移动。

创建标签

  1. 切换到需要打标签的分支上:
  2. 敲命令git tag <name>就可以打一个新标签

PS:

操作标签

命令git tag -d <tagname>可以删除一个本地标签,因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
如果要推送某个标签到远程,使用命令 git push origin <tagname> ,或者,一次性推送全部尚未推送到远程的本地标签git push origin --tags

如果标签已经推送到远程,先从本地删除:
然后,从远程删除:
<pre><code>$ git push origin :refs/tags/v0.9

To git@github.com:michaelliao/learngit.git

上一篇下一篇

猜你喜欢

热点阅读