Git:本地分支和远程分支建立追踪关系
git branch --set-upstream-to=<远程主机名>/<远程分支名> <本地分支名>
git branch --set-upstream-to=origin/ziying ziying
在多人协同开发中,A在本地开发完成后,将代码推送到远程,这时候B的本地代码的版本就低于远程代码的版本,这时候B该如何从远程拉取最新的代码,并与自己的本地代码合并?
1. 查看远程仓库列表
git remote -v
2.远程有一个叫origin的仓库,使用命令从远程的origin仓库的master分支下载到本地master并新建一个temp分支
git fetch origin master:temp
3.查看temp分支与本地原有分支的不同
git diff temp
4.将temp分支和本地的master分支合并
git merge temp
总结:
- 要使用git命令操作仓库,需要进入到仓库内部
- 要同步服务器代码就执行:
git pull
- 本地仓库记录版本就执行:
git commit -am '版本描述'
- 推送代码到服务器就执行:
git push
- 编辑代码前要先
pull
,编辑完再commit
,最后推送是push
代码冲突
- 提示:多人协同开发时,避免不了会出现代码冲突的情况
- 原因:多人同时修改了同一个文件
- 危害:会影响正常的开发进度
- 注意:一旦出现代码冲突,必须先解决再做后续开发
-
容易冲突的操作方式
- 多个人同时操作了同一个文件
- 一个人一值写不提交
- 修改之前不更新最新代码
- 提交之前不更新最新代码
- 擅自修改同事代码
-
减少冲突的操作方式
- 养成良好的操作习惯,先
pull
在修改,修改完立即commit
和push
- 一定要确保自己正在修改的文件是最新版本的
- 各自开发各自的模块
- 如果要修改公共文件,一定要先确认有没有人正在修改
- 下班前一定要提交代码,上班第一件事拉取最新代码
- 一定不要擅自修改同事的代码
- 养成良好的操作习惯,先
解决冲突
- 原则:谁冲突谁解决,并且一定要协商解决
- 方案:保留所有代码 或者 保留某一人代码
-
解决完冲突代码后,依然需要
add
、commit
、push