目的
在git提交代码时,避免发生代码冲突。
减少在进行merge时,导致的代码丢失。
中心思想
保证本地仓库保有修正前后的情况下,进行pull操作。
在发生冲突时,将修正前后备份到其他位置,保证代码绝对不会丢失。
将本地代码和本地仓库代码同步到没有修改之前,之后再进行pull操作,将本地代码、本地仓库、远程仓库三方同步。
在三方同步的基础上,快速将修改同步上去。
解决的问题
避免发生冲突,进行merge性质的提交时,影响别人的代码提交。
避免发生意外冲突时,恶性事件的发生概率。
减少代码意外丢失的可能性。
操作方法
- 在未准备push之前尽量不要进行进行pull操作,每次pull之后都尽量进行一次push,目的在于降低merge操作的复杂性。
- pull之前,先进行commit,将修改的代码提交到本地仓库。
- 进行pull操作。
3.1. 未发生冲突。
3.1.1. 进行push操作。
3.2. 发生冲突。
3.2.1. 在文件夹使用小乌龟打开【showlog窗口】。
3.2.2. 在【showlog窗口】,选择【带master标签的版本】和【带head标签的版本】,进行【比较】。
3.2.3. 在【比较窗口】,选中全部文件,右键【导出】到【修正后】文件夹。
3.2.4. 在【比较窗口】,点击右上角的【切换按钮】(横向双箭头),之后全选,【导出】到【修正前】文件夹。
3.2.5. 【关闭比较窗口】,在【showlog窗口】,选择【带head标签的版本】,右键点击【重置master到此版本】。
3.2.6. 关闭【showlog窗口】,打开【commit窗口】,将所有显示【可以提交的文件】,不管是你修改的,还是别人修改的,【全部还原】。
3.2.7. 进行pull操作
3.2.8. 使用【差分工具】(winmerge等),对修正前后文件夹进行比较,【将你的修改同步到最新版本上】。
3.2.9. 进行commit操作
3.2.10. 进行push操作