git学习(十)多人协作

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

1.目前本地feature/add_commit和远程仓库的分支id号不一样
[ahead 1, behind 1]本地比远程仓库多一个提交,本地比远程仓库少一个提交
在这里插入图片描述
2.解决方法

git merge origin/feature/add_commit
git push

二、不同人修改了同文件的不同区域如何处理?

git fetch
git merge origin/feature/add_commit

三、不同人修改了同文件的同一区域如何处理?

git fetch
git merge origin/feature/add_commit

报错:Auto Merge Failed; Fix Conflicts and Then Commit the Result.
方法一:如果我们确定远程的分支正好是我们需要的,而本地的分支上的修改比较陈旧或者不正确,那么可以直接丢弃本地分支内容,运行如下命令(看需要决定是否需要运行git fetch取得远程分支):

$:git reset --hard origin/master

或者$:git reset --hard ORIG_HEAD

解释:

git-reset - Reset current HEAD to the specified state

–hard
Resets the index and working tree. Any changes to tracked files
in the working tree since are discarded.

方法二:我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对unmerged的文件进行手动修改,删掉其中冲突的部分,然后运行如下命令

$:git add filename

$:git commit -m “message”

方法三:如果我们觉得合并以后的文件内容比价混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:

$:git reset --hard HEAD

————————————————
版权声明:本文为CSDN博主「谁不小心的」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/trochiluses/article/details/10100719

四、同时变更了文件名和文件内容如何处理?

场景如下:一个人变更了文件名字,做了push
另一个人修改了文件内容,push会发生报错
解决方案:直接执行 git pull,git会智能的变更文件名字

git pull

五、把同一文件改成了不同的文件名如何处理?

本地出现了拉下来的11.md和自己改的12.md
说明git不做智能处理,需要自己处理
在这里插入图片描述

发布了20 篇原创文章 · 获赞 3 · 访问量 642

猜你喜欢

转载自blog.csdn.net/zmjheart/article/details/103098246