如何撤销一个合并

你应该始终牢记,你可以在任何时间执行撤销操作,并返回到你开始合并之前的状态。要对自己有信心,你不会破坏项目中的任何东西。只要在命令行界面中键入 “git merge –abort” 命令,你的合并操作就会被安全的撤销。

当你解决完冲突,并且在合并完成后发现一个错误,你仍然还是有机会来简单地撤销它。你只须要键入 “git reset –hard ” 命令,系统就会回滚到那个合并开始前的状态,然后重新开始吧!

本地命令行方式解决冲突

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 第一步:合并分支时发生了冲突(conflict)
# 第二步:查看当前冲突情况
$ git status
# On branch branch-b
# You have unmerged paths.
# (fix conflicts and run "git commit")
#
# Unmerged paths:
# (use "git add ..." to mark resolution)
#
# both modified: test_conflict.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
# 第三步:打开冲突的文件,并进行修改,保留你想要的内容
# 通过搜索冲突标记符号<<<<<<<,可以快速定位冲突位置
# <<<<<<< HEAD 到 =======标记符号之间为一个分支修改内容
# ======= 到 >>>>>>>为另一个分支修改内容
# 保留你想要保留的内容,然后删除所有的标记符号
# 第四步:修改完冲突文件后,将修改文件添加到仓库跟踪中
$ git add -A
# 第五步:解决完冲突,提交内容
$ git commit -m "Resolved merge conflict."
# 第六步:合并分支
# 第七步:推送到远端仓库,然后在远端仓库,如Github发起Merge pull request.

查看分支合并图

git log --graph命令可以看到分支合并图。

如何查找Git服务器上的操作历史记录

1
2
$ git reflog
$ git branch branch_name commit_hash

通过reflog找到每次提交的对应的commit_hash码,找到需要恢复的提交的hash,然后通过后面的命令进行本地的恢复,恢复的是恢复本地的,恢复后在本地拿到相应的文件即可。

0%