返回介绍

2. 抓取分支

发布于 2025-03-08 13:21:17 字数 2076 浏览 0 评论 0 收藏 0

多人协作时,大家都会往 master 分支上推送各自的修改。现在我们可以模拟另外一个同事,可以在另一台电脑上(注意要把 SSH key 添加到 github 上)或者同一台电脑上另外一个目录克隆,新建一个目录名字叫 testgit2

但是我首先要把 dev 分支也要推送到远程去,如下

接着进入 testgit2 目录,进行克隆远程的库到本地来,如下:

现在目录下生成有如下所示:


现在我们的小伙伴要在 dev 分支上做开发,就必须把远程的 origin 的 dev 分支到本地来,于是可以使用命令创建本地 dev 分支:

git checkout –b dev origin/dev

现在小伙伴们就可以在 dev 分支上做开发了,开发完成后把 dev 分支推送到远程库时。

如下:

小伙伴们已经向 origin/dev 分支上推送了提交,而我在我的目录文件下也对同样的文件同个地方作了修改,也试图推送到远程库时,如下:

由上面可知:推送失败,因为我的小伙伴最新提交的和我试图推送的有冲突,解决的办法也很简单,上面已经提示我们,先用 git pull 把最新的提交从 origin/dev 抓下来,然后在本地合并,解决冲突,再推送。

git pull 也失败了,原因是没有指定本地 dev 分支与远程 origin/dev 分支的链接,根据提示,设置 devorigin/dev 的链接:如下:

这回 git pull 成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的 解决冲突完全一样。解决后,提交,再 push:

我们可以先来看看 readme.txt 内容了。

现在手动已经解决完了,我接在需要再提交,再 push 到远程库里面去。如下所示:

因此:多人协作工作模式一般是这样的:

  • 首先,可以试图用 git push origin branch-name 推送自己的修改。
  • 如果推送失败,则因为远程分支比你的本地更新早,需要先用 git pull 试图合并。
  • 如果合并有冲突,则需要解决冲突,并在本地提交。再用 git push origin branch-name 推送。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文