lovetg0 2019-11-09
本篇文章中,不仅讲解一些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 代码落后了,这样我们就可以提合并请求了。