git 多人协作
1 首先在远程git仓库中创建除master分支之外的分支,如dev分支,用于开发调试;
2 抓取分支
你的小伙伴要在dev
分支上开发,就必须创建远程origin
的dev
分支到本地,于是他用这个命令创建本地dev
分支:
$ git checkout -b dev origin/dev
然后
$ git pull origin/dev
3 现在,他就可以在dev
上继续修改,然后,时不时地把dev
分支push
到远程:
$ git add env.txt
$ git commit -m "add env"
$ git push origin dev
Counting objects: 3, done.
4 如果push失败,则先pull,再push
多人协作的工作模式通常是这样:
-
首先,可以试图用
git push origin <branch-name>
推送自己的修改; -
如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并; -
如果合并有冲突,则解决冲突,并在本地提交;
-
没有冲突或者解决掉冲突后,再用
git push origin <branch-name>
推送就能成功!
如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
小结
-
查看远程库信息,使用
git remote -v
; -
本地新建的分支如果不推送到远程,对其他人就是不可见的;
-
从本地推送分支,使用
git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交; -
在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致; -
建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name
; -
从远程抓取分支,使用
git pull
,如果有冲突,要先处理冲突。
推荐阅读
-
git在webstorm中“不是内部或外部命令“”
-
求php高并发下抽奖程序,如何避免重复中奖及多人抽中同一个奖?
-
TortoiseSVN - “revert changes from this revision” vs “revert to this revision” 博客分类: svn/git/perforce revertrevisionchangesvn
-
vscode git commit 出现 ‘node‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
-
Git的配置,GitHub的使用
-
关于git提交github出现errno 10054、port 443: Timed out等问题解决
-
使用GIT软件备份linux系统上的网页文件
-
git log 乱码解决方法
-
git 现在本地创建仓库 再 推送到 远程 github 仓库中
-
phpcms全站搜索为何不象很多人吹的那样行呢