我在使用git revert
命令时遇到问题。我使用 Ubuntu 12.04 Linux 和 Git 版本 1.7.9.5。
- 我在本地 PC 上创建了一个全新
b_test_repo
的,从远程跟踪它origin b_test_repo
。 - 我在本地创建了一个
A
包含两行文本的文件(commit),并且仅在本地master
分支中成功提交了它。
为了尝试,git revert
我又生成了 3 个提交,每个提交都添加了一行文本。所以我的master
提交历史看起来像:
A - B - C - D
在哪里
A
- 第 1 行和第 2 行的新文件B
- 添加了一行C
- 添加了一行D
- 添加了一行
在所有这些提交之后,该文件包含 5 行:
line1
line2
line3
line4
line5
然后,我想恢复 commit B
,这将在没有 的情况下呈现文件line3
,这是由 commit 添加的B
:
git status
# On branch master
nothing to commit (working directory clean)
我输入:
git revert -n master~2
在不提交更改的情况下恢复提交的效果B
,但获得以下内容:
error: could not revert 1a13ad6... Adding one line
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
我很困惑为什么会发生冲突,即为什么 Git 在确定文件中需要更改的内容时遇到问题。
我在这里想念什么?请赐教!