一、推送分支修改到远程仓库
1、当你从远程克隆时,实际Git自动把本地master分支和远程master分支对应起来了,远程仓库默认名称origin
2、查看远程库信息
git remote 或者 git remote -v
3、推送修改:git push origin master/git push origin dev
4、但是并不一定所有分支都要推送到远程库(总之看你的心情):
【1】master分支是主分支,需要同步
【2】dev分支是开发分支,所有成员在上面工作,需要同步
【3】bug分支只用于本地修改bug,不同步
【4】feature分支是否推送到远程,取决于你和你的小伙伴是否一起在上面开发
二、抓取分支
1、现在,模拟一个你的小伙伴,可以在另一台电脑上(注意把SSH key加到github),或者同一个电脑的另外一个目录下克隆
2、当你的小伙伴远程克隆的时候,Git_6里面只能看到master分支,不信可以用git branch命令看
3、现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,使用:
git checkout -b dev origin/dev
4、再git branch,就能看到dev分支了,现在,你的小伙伴就可以在dev分支上开发,并推送远程库了
5、你的小伙伴推送后,恰巧此时你又修改了test.txt这个文件,再提交推送,则会报错。因为你们两者有冲突,Git也提示我们,你需要
git pull把最新分支从origin/dev上拉取下来(拉取失败的话看下面附录)
6、修改冲突后提交
总结:
因此,多人协作的工作模式通常是这样:
-
首先,可以试图用
git push origin branch-name
推送自己的修改; -
如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并; -
如果合并有冲突,则解决冲突,并在本地提交;
-
没有冲突或者解决掉冲突后,再用
git push origin branch-name
推送就能成功!
如果git pull
提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。