四、Git多人开发:不同人修改了同文件的相同区域如何处理?
@Author:Runsen
不同人修改了同文件的相同区域如何处理?
现在小A发现小B在h1修改自己的代码,非常的生气,决定改回来。小B也觉得不好意思,于是也决定改回来。
小B在小A之前就把User.html改回了小A,不然给小A骂死。
maoli@ubuntu:~/B/muli_person_test$ vim user.html
#####
<html><head>用户</head><body><h1>这是小A开发的User.html</h1></body>
</html>
maoli@ubuntu:~/B/muli_person_test$ vim user.html
maoli@ubuntu:~/B/muli_person_test$ git commit -m "XXX"
[dev 1d75f13] XXX1 file changed, 1 insertion(+), 1 deletion(-)
maoli@ubuntu:~/B/muli_person_test$ git push
Delta compression using up to 4 threads.
压缩对象中: 100% (3/3), 完成.
写入对象中: 100% (3/3), 274 bytes | 0 bytes/s, 完成.
Total 3 (delta 2), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-5.0]
To https://gitee.com/MaoliRUNsen/muli_person_testdcff9e8..1d75f13 dev -> dev
这个时候,小B已经将之前的错误修改了,可是小A不知道。发现小B将自己的成果占为己用,真的很生气,于是赶紧去改下。
YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (A)
$ cat user.html
<html><head>用户</head><body><h1>这是小B开发的User.html</h1></body>
</html>
YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (A)
$ vim user.html
<html><head>用户</head><body><h1>这是小B开发的User.html,小B你真的不要脸</h1></body>
</html>YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (A)
$ git add user.htmlYIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (A)
$ git commit -m "小B真的不要脸"
[A c096b6a] 小B真的不要脸1 file changed, 1 insertion(+), 1 deletion(-)YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (A)
$ git checkout dev
Switched to branch 'dev'
Your branch is behind 'origin/dev' by 1 commit, and can be fast-forwarded.(use "git pull" to update your local branch)YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev)
$ git merge A
Updating d23e309..c096b6a
Fast-forwarduser.html | 10 +++++-----1 file changed, 5 insertions(+), 5 deletions(-)YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev)
$ git pushTo https://gitee.com/MaoliRUNsen/muli_person_test! [rejected] dev -> dev (fetch first)
error: failed to push some refs to 'https://gitee.com/MaoliRUNsen/muli_person_test'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
一样报错了,原因大家想想。就是没有pull,因为B提交了代码,A的远端并不同步。
YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev)
$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://gitee.com/MaoliRUNsen/muli_person_testdcff9e8..1d75f13 dev -> origin/dev
Auto-merging user.html
CONFLICT (content): Merge conflict in user.html
Automatic merge failed; fix conflicts and then commit the result.
于是小A去pull,发现了出现CONFLICT (content): Merge conflict in user.html
,这个的意思就是内容冲突,
在下图就很明显看到了小B改了代码,可能小B知道错了,以为小A不知道。小A看了下,就算了。
改回之前的代码。
最后查看下git status
,只需要使用git commit
就可以解决冲突。
YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev|MERGING)
$ git status
On branch dev
Your branch and 'origin/dev' have diverged,
and have 1 and 1 different commits each, respectively.(use "git pull" to merge the remote branch into yours)
You have unmerged paths.(fix conflicts and run "git commit")Unmerged paths:(use "git add <file>..." to mark resolution)both modified: user.htmlno changes added to commit (use "git add" and/or "git commit -a")YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev|MERGING)
$ git commit -am "解决冲突"
[dev d613e8f] 解决冲突
这个时候同文件的相同区域产生的冲突就解决了。查看Git的状态,就可以提交了。
YIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev)
$ git status
On branch dev
Your branch is ahead of 'origin/dev' by 2 commits.(use "git push" to publish your local commits)
nothing to commit, working directory cleanYIUYE@DESKTOP-5EEO47M MINGW64 ~/Desktop/A/muli_person_test (dev)
$ git push
Counting objects: 4, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 580 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-5.0]
To https://gitee.com/MaoliRUNsen/muli_person_test1d75f13..d613e8f dev -> dev
四、Git多人开发:不同人修改了同文件的相同区域如何处理?相关推荐
- 三、Git多人开发:不同人修改了同文件的不同区域如何处理
@Author:Runsen 我们接着上面的话题,不同人修改了同文件的不同区域如何处理 不同人修改了同文件的不同区域如何处理? 突然间,小A发现了自己写的user.html中的head没有写,睡觉前赶 ...
- Git多人开发场景模拟
文章目录 Git多人开发场景模拟 场景模拟 实现 场景一 场景二 场景三 场景四 Git多人开发场景模拟 场景模拟 假设小组中有两个人,组长hadoop1,组员hadoop2 场景一:hadoop1创 ...
- 二、Git多人开发:不同人修改了不同文件如何处理
@Author:Runsen 上面我们创建了一个组织的仓库.分别有小A和小B.我在电脑上给小A和小B不同的工作位置. 小A在我的Window系统,小B在我的Ubuntu虚拟机中,这是因为我在Windo ...
- IDEA使用Git多人开发
IDEA使用Git多人开发 1.提交本地自己的分支的内容,即commit不push 2.切换到本地的总开发分支,pull代码 3.切换到本地自己的分支 ,将刚刚更新的dev分支合并到自己的开发分支 5 ...
- 六、Git多人开发: 把同一文件改成了不同的文件名如何处理?
@Author:Runsen 把同一文件改成了不同的文件名如何处理? 我们接着上面的话题,如果把同一文件改成了不同的文件名,如何处理? 小A和小B首先对使用git pull命令同步下.小Auser.h ...
- 五、Git多人开发:同时变更了文件名和文件内容如何处理?
@Author:Runsen 同时变更了文件名和文件内容如何处理 我们接着上面的话题,如果遇到了同时变更了文件名和文件内容如何处理? A和B在同一个dev分支上对同一份代码仓库中的同一个文件做修改,小 ...
- git查看两个版本之间修改了哪些文件
git diff hash1 hash2 --stat //hash1 hash2为版本号的commint值
- Git之深入解析如何使用Git的分布式工作流程与如何管理多人开发贡献的项目
一.分布式工作流程 如果现在拥有一个远程 Git 版本库,就能为所有开发者共享代码提供服务:在一个本地工作流程下,如果你也已经熟悉了基本 Git 命令,现在就可以学习如何利用 Git 提供的一些分布式 ...
- 使用git帮助多人开发
多人开发时,版本控制系统是十分有必要的.本文叙述的是允许一台服务器上利用git让多个用户同时进行开发的基本配置流程. 下面的命令全部基于ubuntu 9.10操作系统. 0.安装git sudo ap ...
最新文章
- 营销3.0时代的营销特征
- element not visible的解决方法
- 【渗透测试】一次运气很好的文件上传
- java http 异步请求框架_GitHub - huangdali/MyHttpUtils: 一个非常好用的异步网络请求框架...
- vnc用户名 查看linux_vnc用户名未被识别,5步教你如何解决vnc用户名未被识别
- spring boot Exception in Thread “main” java.lang.classNoFoundException
- 互联网金融--支付结算平台的测试
- Exar签署最终协议 5900万美元收购Hifn
- 水经注地图发布服务中间件下载安装图文教程
- python有什么游戏可以开发智力_用Python解“智力游戏”,你智商够吗?
- 豆瓣八卦小组html失败,原来豆瓣有这么多稀奇古怪的小组?
- php后端学多久,【后端开发】PHP多久能学会?
- 微信域名防封系统-微信域名预拦截预防封
- 在cmd 中输入了错误mysql命令后,如何退出?
- Android的变化过程~
- 基础练习:1085:球弹跳高度的计算
- Explorer经常出错重启是什么原因?
- linux装回windows无法开机,再谈关于linux mint,windows7(8)的多系统安装启动故障修复...
- DDS格式介绍及相关工具
- CDN新品发布:阿里云SCDN安全加速开放公测
热门文章
- linux重命名的命令行操作,Linux rename命令批量重命名的方法
- php mysql 查询 区分大小写_MySQL查询字符串时区分大小写
- python中split_python中split()和split(' ')的区别
- vant-image本地图片无法显示
- vscode怎么写qt项目_使用VSCode 编译调试QT程序
- python如何爬虫股票数据_简单爬虫:东方财富网股票数据爬取(python_017)
- 生成任意内容任意类型的文件
- [家里蹲大学数学杂志]第418期南开大学2013年实变函数期末考试试题参考解答
- HDU 4705 Y (树形DP)
- asp.net webservice 添加get方法