使用Git进行团队协作

使用Git进行团队协作

使用Git从Remote拉取代码有这几种形式:

  1. HTTP
  2. SSH
  3. ZIP下载

其中HTTP方式拉取的代码在每次上传的时候都需要输入帐号密码,并不好
使用SSH方式拉取的代码不需要输入帐号密码,很好

如何获取SSH密钥?

参考链接

打开~/.ssh进行查看

~/.ssh$ ls
known_hosts  known_hosts.old

使用ssh-keygen -t rsa命令
会有这几个提示:

Enter file in which to save the key (/home/yingmanwumen/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

一般放空不填

然后ls,进行查看

$ ls
id_rsa  id_rsa.pub  known_hosts  known_hosts.old

其中,id_rsa是私钥,id_rsa.pub是公钥
公钥、私钥什么东西自行百度

将公钥复制到Git服务器的相应设置中

接下来就可以git pull URL来拉取内容了
记得URL是SSH方式的

如何进行团队协作

参考链接

在小型开发中,设置如下分支:
master(main),主分支
develop,开发中分支

使用git branch develop master从master上建立develop分支
使用git checkout develop切换到develop分支,并使用git push origin develop提交到remote服务器

在develop中完成修改后,将其merge到master分支中

当使用多人协作时,需要使用feature分支,即每个人都新建一个自己的feature分支

下面介绍具体开发过程:

开发者A克隆了代码并进行了改动:

git clone URL.git  // 克隆仓库
git checkout develop  // 切换到develop分支
git checkout -b feature-A develop  // 从develop分支新建一个checkout分支,并且切换过去
// 此处进行一些开发
git checkout develop  // 切换到develop分支
git pull origin develop  // 更新develop的代码,因为可能有人会在你工作的时候提交代码
git checkout feature-A
git rebase -i  // 合并提交
git rebase develop  // 把develop新增的内容添加到feature中
git checkout develop  // 切换到develop
git merge --no-ff feature-A  // 把feature合并到develop
git push origin develop  // 推送develop

开发者B在开发者A提交后进行改动

git clone URL.git  // 克隆仓库
git checkout develop  // 切换到develop分支
git checkout -b feature-A develop  // 从develop分支新建一个checkout分支,并且切换过去
// 此处进行一些开发
git checkout develop  // 切换到develop分支
git pull origin develop  // 更新develop的代码,因为可能有人会在你工作的时候提交代码
git checkout feature-A
git rebase -i
git rebase develop  // 把develop新增的内容添加到feature中

// 这里会出现冲突,因为A已经提交代码了,B的develop发生了改动,feature就不能直接merge到develop里面
// 进行冲突处理

git add -A  // 冲突处理完成后记得执行add操作
git rebase --continue  // 然后要继续rebase操作



git checkout develop  // 切换到develop
git merge --no-ff feature-A  // 把feature合并到develop
git push origin develop  // 推送develop

使用文字进行描述流程,即为:

  1. 建立分支,进行改动
  2. 使用rebase命令检查是否有冲突
  3. 若有冲突,则解决冲突,解决之后,要使用git add命令添加改变,并且使用rebase --continue命令继续未完成的rebase操作
  4. 最后把feature合并到develop分支之中
  • rebase命令:
  1. -i参数:将本地的多次提交合并为一个
  2. 将最新的分支同步到本地,需要手动解决冲突
  • merge --no-ff 参数:用途:禁止快进式合并,--no-ff 会让 Git 生成一个新的提交对象。让master更干净一点

常用命令

git add
git status 查看当前状态,commit前最好看一下
git commit -m ‘message’ 提交
git branch 查看本地分支, -a参数:所有分支,-r参数:remote的所有分支,-D参数:删除本地库
git remote add origin xxx: 添加remote记录
git push origin master: 更新远程服务器上的master分支
git checkout xxx 切换到xxx分支,-b参数:建立一个新的本地分支并且切换
git merge xxx:将xxx与当前分支合并
git rm 删除文件,–cached参数:仅仅从暂存区删除
git clone xxx:克隆代码

参考网站

  1. https://blog.csdn.net/u012501054/article/details/88787428
  2. https://blog.csdn.net/nrsc272420199/article/details/85555911
  3. https://blog.csdn.net/halaoda/article/details/78661334

猜你喜欢

转载自blog.csdn.net/weixin_45206746/article/details/114377583