SourceTree解决冲突

 SourceTree解决冲突

 

解决冲突的时候,操作已暂存文件,不操作未暂存文件(开始的时候,这两个区域的文件是一样的,并且都带有感叹号提示);SourceTree解决冲突

  1. 使用他人版本解决冲突,会自动将当前分支对应文档更改成他人文档内容,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点;(此时因为我已经将三个文档中的两个文档,分别选择了使用他人版本和使用我的版本解决冲突,所以选项是灰色的)SourceTree解决冲突
  2. 使用自己版本解决冲突,则对当前分支对应文档不做任何改变,并将该文档从未暂存文件和已暂存文件中去除(因为合并过程中未对该文档做任何改动);(此时因为我已经将三个文档中的两个文档,分别选择了使用他人版本和使用我的版本解决冲突,所以选项是灰色的)SourceTree解决冲突
  3. 对于要自己修改冲突的文档,自行修改文档,并在修改完成后,将该文档标记为已解决,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点。SourceTree解决冲突
  4. 最后将合并好的文档commit提交。

sourcetree 解决文件冲突

目录

冲突模拟

解决冲突

退回指定版本

写在最后



冲突模拟

为了模拟这次冲突,首先我上传了一个.py文件。

SourceTree解决冲突

在两台电脑A和B中分别修改.py文件,将A电脑修改的文件上传服务器,

SourceTree解决冲突

修改B电脑中的.py文件

SourceTree解决冲突

解决冲突

在提交文件时,就会提示文件冲突,显示如图中黄色叹号,而在下图右侧提示了文中冲突部分。

SourceTree解决冲突

然后,根据需要对文中冲突部分进行修改,SourceTree解决冲突

SourceTree解决冲突

修改完成后在sourcetree中将冲突修改为已解决

SourceTree解决冲突

继续提交就可以了。

退回指定版本

当文件问题无法解决,或者,出现错误的提交操作,可以在日志流中回滚到你的版本,也可以在日志中,选中选定提交版本后,将该分支的文件退回到指定的版本。

SourceTree解决冲突

当然,在合并是你可以根据你的需要,看是否保留已经修改的文件。

SourceTree解决冲突

写在最后

为了尽可能的避免出现文件冲突,给自己和他人增加不必要的工作量,

建议:

  1. 在你决定编辑文件时,先拉取一次代码,确保服务器与本地文件版本一致
  2. 如果非必要,尽量不在直接在原文件修改,建立一个副本,修改完成后,再拉取一遍,确保该文件没有被修改,再将副本覆盖源文件,提交。
  3. 如果在提交时发现文件被别人修改了,可以利用notepad++文本比较插件,解决冲突后,再覆盖提交