Skip to main content

git多人合作开发操作命令

moremind...About 2 minGitgit

git远程分支操作

查看远程仓库信息

git remote
git remote -v

推送分支

git push origin master
git_remote
git_remote
git_push
git_push

也可以推送到其他分支:

git push origin dev

那么一般情况下,那些分支要推送呢?

  1. master分支是主分支,因此要时刻与远程同步。
  1. 一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。
git_push2
git_push2

抓取分支

多人协作时,大家都会往master分支上推送各自的修改。新建一个目录名字叫testgit3。

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

git_clone2
git_clone2
git checkout –b dev 
git reset --hard origin/dev

在dev下重置起点,即可,git checkout -b dev origin/dev 错误的。

git
git

接下来在demo.txt的文件中添加数据6666666666666数据,然后提交到分支即可。

git add demo.txt
git commit -m "添加666的数据"
git pusu origin dev
git_push3
git_push3

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

git_push_dev
git_push_dev

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

git pull
git branch --set-upstream dev origin/dev
git pull

然后此时会出现冲突,所以需要解决冲突,使用前面讲过的分支策略进行解决。然后在执行:

git add demo.txt
git commit -m "****"
git push origin dev

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

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

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

  3. 如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。

推荐阅读

ProGit中文版open in new window

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8