SourceTree解决冲突
解决冲突的时候,操作已暂存文件,不操作未暂存文件(开始的时候,这两个区域的文件是一样的,并且都带有感叹号提示);
- 使用他人版本解决冲突,会自动将当前分支对应文档更改成他人文档内容,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点;(此时因为我已经将三个文档中的两个文档,分别选择了使用他人版本和使用我的版本解决冲突,所以选项是灰色的)
- 使用自己版本解决冲突,则对当前分支对应文档不做任何改变,并将该文档从未暂存文件和已暂存文件中去除(因为合并过程中未对该文档做任何改动);(此时因为我已经将三个文档中的两个文档,分别选择了使用他人版本和使用我的版本解决冲突,所以选项是灰色的)
- 对于要自己修改冲突的文档,自行修改文档,并在修改完成后,将该文档标记为已解决,此时该文档从未暂存文件中去除,在已暂存文件中的提示由感叹号变成三个点。
- 最后将合并好的文档commit提交。
sourcetree 解决文件冲突
目录
为了模拟这次冲突,首先我上传了一个.py文件。
在两台电脑A和B中分别修改.py文件,将A电脑修改的文件上传服务器,
修改B电脑中的.py文件
在提交文件时,就会提示文件冲突,显示如图中黄色叹号,而在下图右侧提示了文中冲突部分。
然后,根据需要对文中冲突部分进行修改,
修改完成后在sourcetree中将冲突修改为已解决
继续提交就可以了。
当文件问题无法解决,或者,出现错误的提交操作,可以在日志流中回滚到你的版本,也可以在日志中,选中选定提交版本后,将该分支的文件退回到指定的版本。
当然,在合并是你可以根据你的需要,看是否保留已经修改的文件。
为了尽可能的避免出现文件冲突,给自己和他人增加不必要的工作量,
建议:
- 在你决定编辑文件时,先拉取一次代码,确保服务器与本地文件版本一致
- 如果非必要,尽量不在直接在原文件修改,建立一个副本,修改完成后,再拉取一遍,确保该文件没有被修改,再将副本覆盖源文件,提交。
- 如果在提交时发现文件被别人修改了,可以利用notepad++文本比较插件,解决冲突后,再覆盖提交