常用git指令之多人协作开发merge
学习git指令可参考https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html中的一张图来理解:
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
本文围绕以下四方面介绍:拉取代码、提交代码、合并代码、解决冲突。
一、从拉取到合并(初次提交往往不用解决冲突)
1.从origin仓库拉取代码并新建文件夹
git clone http://10.7.10.54/wendy/project projectname
2.进入该文件夹
cd projectname
3.查看当前远程仓库
git remote -v
4.添加远程仓库(最终要合并的主分支)
git remote add upstream http://10.7.10.54/peter/project
5.(可再次用git remote -v查看当前远程仓库) 切换到dev仓库上(代码都是先合到dev)
git checkout dev
6.从主分支拉取代码
git fetch upstream
7.合并代码至主分支
git merge upstream/dev
(或者在github或gitlab可视化界面上创建合并请求 new request,commit后就fetch,多次提交重复的用 git rebase)
二、提交代码
1.从工作区提交到自己仓库
1)首先add至暂存区(index),add .为添加所有文件
git add .
2)用commit指令,提交修改备注。双引号内为备注的修改内容
git commit -a -m "commit"
3)push代码到本地仓库(origin)
git push
2.从自己仓库提交到remote
见一、下的6.7.点
三、解决冲突相关
本地合并代码——
在解决冲突之后,重新提交并push至本地,在gitlab创建合并请求。
回退代码——
回退单个文件:
1.删掉要回退的文件。
2.重新拉取。git checkout -- src/components/MicroDone.vue
merge取消——
git merge --abort
可以用vim打开文件进行编辑:
1. 输入i,进入insert 输入模式
2. 按 esc 退出输入模式 (下方insert / 插入消失)
3. 输入 :wq 后回车 退出 vim 模式