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

多人协作

利用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>

推送分支

  • master分支是主分支,因此要时刻与远程同步;

  • dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

  • bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;

  • feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

抓取分支

若你的同事已经向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 <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

  • git tag -a <tagname> -m "blablabla..."可以指定标签信息;

  • git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;

  • 命令git tag可以查看所有标签。

操作标签

命令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

  • [deleted] v0.9
    </code></pre><p>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,849评论 4 54
  • 远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题...
    归云丶阅读 2,045评论 0 5
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 4,149评论 3 27
  • 布法罗之役: 布法罗(Buffalo),又称水牛城,是美国[纽约州]西部伊利湖东岸的港口城市,纽约州第二大城市(仅...
    罗贤龙阅读 626评论 0 1
  • 小张从小学习优秀,上了875,211大学,通过读书改变了命运,进入大都市过上都市人的生活,成了一知名企的白领,虽然...
    东泽666阅读 216评论 0 0

友情链接更多精彩内容