常用git指令之多人协作开发merge

学习git指令可参考https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html中的一张图来理解:

常用git指令之多人协作开发merge

  • 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 模式