25

本篇文章中,不仅讲解一些git的常用语句,更重要的是讲解一下多人协作开发的流程,以及怎么利用Git去实现多人协作开发。

首先,在本地下载好Git以后,我们需要设置提交代码用的用户名和邮箱

git config --global user.name "xxx"
git config --global user.email "xxx"

如果用了 --global 选项,那么以后你所有的项目都会使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或邮箱,只需在该项目下执行:

git config user.name "xxx"
git config user.email "xxx"

现在,假设我们在GitHub上有一个项目,叫 git-test

一般多人协作开发,都是每个人负责项目不同的模块,每个模块之间共用的文件较少,这样可以减少代码之间的耦合。每个模块建立一个分支,平常我们将代码上传到这个分支,当这个模块开发完毕以后,再将这个分支合并到master分支。

比如现在我们要负责a模块的开发。

那么,我们需要先把最新的项目代码克隆到本地。在本地工作目录下鼠标右键,选择 Git Bash Here ,然后输入:

git clone https://github.com/michwh/git-test.git

https://github.com/michwh/git-test.git 是项目的git地址

图片描述

我们先在本地建立 a 分支,在项目文件夹下执行:

// 建立并切换到a分支
git checkout -b a

这条命令相当于执行下面这两条命令:

git branch a
git checkout a

然后,我们在a分支上进行a模块代码的编写。比如我们在README.md文件里添加一句话:

a分支第一次编写

编写完以后,我们提交代码到远程的 a 分支。我们按顺序执行下面代码:

// 将项目的代码变化提交到缓存区(包括修改、添加和删除)
git add -A

// 将缓存区的所有内容提交到当前本地分支,并附上提交说明:'xxx'
git commit -m 'xxx'

// 将代码提交到远程a分支
git push origin a

如果a模块已经编写完毕,而且经过测试无bug,那么,我们可以把远程 a 分支合并到远程的 master 分支。

不过,在合并之前,我们需要确认当前的 a 分支是从最新的 master 分支牵出来的。

如果从你克隆项目到本地到你准备合并 a 分支的这个过程中都没有人提交过代码到 master 分支,那么你可以在GitHub上发起 Pull requests 请求将 a 分支的代码合并到 master 分支。

图片描述

后面就是等待项目管理员同意你的合并请求。

如果从你克隆项目到本地到你准备合并 a 分支的这个过程中有人提交过代码到 master 分支。那么,我们需要先将本地项目切回 master 分支:

git checkout master

将最新的远程 master 分支代码拉到本地的 master 分支:

git pull origin master

切换到本地 a 分支:

git checkout a

将本地 master 分支合并到当前分支:

git merge master

如果合并的过程中有冲突,那么我们可以借助 vscode 去查看冲突的代码并选择我们需要保留的代码。

合并好了以后,我们需要将本地的 a 分支代码更新到远程 a 分支:

git add -A

git commit -m "xxx"

git push origin a

这样远程的 a 分支代码就不会比远程的 master 代码落后了,这样我们就可以提合并请求了。


fanfei
318 声望12 粉丝