利用GIT进行多人协作开发
1.首先,在本地下载好Git以后,我们需要设置提交代码的用户名和邮箱
git config --golbal user.name "xxx"
git config --golbal user.email "xxx"
如果用使用了 —global选项,那么以后你所以的项目都会使用这里的配置的用户信息。如果要在莫格特定的项目中使用其他名字或者邮箱,只需在该项目执行:
git config user.name"xxx"
git config user.email "xxx"
现在,假设我们在GitHub上有一个项目,叫git-test
一般多人协作开发,都是每个人负责项目的不同模块,每个模块之间共用的文件较少,这样可以减少代码之间的耦合。每个模块建设一个分支,平常我们将代码上传到这个分支,当这个模块开发完毕以后,再将这个分支合并到master分支。
比如现在我们要负责a模块的开发。
那么,我们需要先把最新的项目代码克隆到本地。在本地工作目录下鼠标右键,选择Git Bash Here,然后输入:
git clone 地址
我们先在本地建立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代码落后了,这样我们就可以提合并请求了。