前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >四、玩转Git三剑客-Git多人单分支集成协作时的常见场景

四、玩转Git三剑客-Git多人单分支集成协作时的常见场景

作者头像
Dreamy.TZK
发布2020-08-18 15:14:09
4850
发布2020-08-18 15:14:09
举报
文章被收录于专栏:小康的自留地小康的自留地

不同人修改了不同文件如何处理

首先在GitHub创建新的分支test,然后本地clone下仓库。通过设置本地local的name属性和email属性模拟两个人操作。

git clone git@github.com:sviptzk/test1.git
cd .\test1\
git config --add --local user.name 'gos967'
git config --add --local user.email 'gos967@163.com'
#基于远端的test分支创建本地分支
git branch -va
git checkout -b test origin/test

我们编辑README文件后,添加并push到远端。

接下来回到以前的仓库,拉取远端的分支。

# 拉取远端分支
git fetch github

基于远端test分支创建本地分支

git checkout -b test github/test

接下来编辑文件,并添加到暂存区,但是不会push。此时切换回刚才的账号,并修改了readme。然后生成commit并push。完成后再次切换回另一个账号。

此时再次将修改c.js文件的用户进行push操作,会遇到问题。

接下来拉取远端分支,并进行合并。

git fetch github
git merge github/test

接下来就可以通过git push进行提交了。

不同人修改了同文件的不同区域

  1. 开发之前对远端进行一个同步 git pull
  2. 提交一个账号的变更,并切换回另一个账号。尝试push

可以通过git pull或者git fetch然后合并分支 git fetch git merge origin/test此时再通过push即可上传成功

不同人修改了同文件的同一区域

模拟两个账户同时修改了同一个文件的同一个区域,并且其中一个提交。然后另一个没有提交的账号做出如下操作。

# 拉取远端最新更新
git pull 

但是由于修改了同一个区域,因此不能自动合并。需要人为合并。

将以上文件进行处理后,再次添加并且commit即可。

同时变更了文件名和文件内容

假如变更文件名的小伙伴先一步push了自己代码,而刚做完修改的小伙伴可以通过git pull命令进行拉取,这个命令会自动处理变更文件名操作。

同一文件改成了不同的文件名

这种情况下,通过git pull命令进行拉取则不会自动处理,而是遇到冲突。会出现两个不同名但内容相同的文件。

# 通过status查看需要添加、删除的文件
git status
# 添加需要保留的文件
git add r1.js
# 删除不需要的文件
git rm rr.js
git rm r2.js

接下来便可以通过git commit -am 'change file name'进行提交新的commit,然后push即可。

git commit -am 'change file name'
git push
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 不同人修改了不同文件如何处理
  • 不同人修改了同文件的不同区域
  • 不同人修改了同文件的同一区域
  • 同时变更了文件名和文件内容
  • 同一文件改成了不同的文件名
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档