这就是我所做的:
我进入控制台:
error: could not revert a90deaf... first
hint: after resolving the conflicts, mark the
hint: with 'git add <paths>' or 'git rm <paths
hint: and commit the result with 'git commit'
Run Code Online (Sandbox Code Playgroud)
好吧,我想让所有文件处于上一次提交的状态,我应该知道什么?
更新 我想要的:
Joh*_*ter 13
首先,回到一个良好的状态:
git revert --abort
Run Code Online (Sandbox Code Playgroud)
接下来,看看你在问什么. git revert获取要撤消的提交的提交ID.第一个提交设置a.txt为:
a
Run Code Online (Sandbox Code Playgroud)
第二次提交使它具有:
b
Run Code Online (Sandbox Code Playgroud)
并且您想要还原第一次提交.所以说的是你要删除行的添加a,以及添加冲突的文件.第一个提交添加了文件,第二个提交修改了它.所以当你要求删除它时,git不知道该怎么做.
我想通过"在先前的状态中的所有文件提交"你想回去的地方国家a.txt拥有a它.
有几种方法可以回到以前的状态.如果尚未共享提交,您可以简单地使用git reset:
git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)
这表示"将我的工作副本和索引的状态重置为先前的提交".在这一点上,a.txt将有a它.
如果您已经共享了第二次提交,那么您不希望执行上述操作,因为您将重写历史记录,这会导致许多其他问题.相反,恢复提交,就像你上面尝试做的那样,但使用正确的提交.在这种情况下,它是您想要还原的HEAD提交:
git revert HEAD
Run Code Online (Sandbox Code Playgroud)
有时恢复提交可能会发生冲突.在这种情况下,它非常像合并冲突.您需要解决这些问题,修复冲突并使用git add带有修改的文件暂存,或使用git rm删除文件.一旦完成,git revert --continue将完成该过程.
恢复以前状态的最简单方法是使用,而不必进行任何花哨的合并git checkout.你可以做:
git checkout HEAD~1 -- a.txt
git commit -m "Reverted to the previous version."
Run Code Online (Sandbox Code Playgroud)
没有合并,没有大惊小怪.HEAD~1当然,:-) 可以是任何提交.我只是根据你的例子使用了这个.