freeCodeCamp/guide/chinese/miscellaneous/when-to-undoredo/index.md

2.3 KiB
Raw Blame History

title localeTitle
When to Undoredo 什么时候去Undoredo

当您对git进行一些更改时通常需要UNDO / REDO并意识到需要删除/还原更改。这在场景中非常常见,例如,当您对某些文件进行临时更改并忘记还原它们时,然后继续将它们添加到意外提交中。

UNDO / REDO工作流程

假设您做了一些更改并做出如下提交:

git commit -m "Commit 1 - Some changes to the code" 
 git commit -m "Commit 2 - Some MORE changes to the code" 
  1. git reset --soft HEAD~ ):恢复最后一次提交git reset --soft HEAD~
  2. 做这些改变。
  3. 将文件添加到临时区域git add <filenames or paths>git add --all
  4. (重做):做提交。 git commit -c ORIG_HEADgit commit -C ORIG_HEAD

这个怎么用?

现在你知道了流程让我们了解它在幕后的运作方式。

  1. Step 1将最后一次提交,即"Commit 2 - Some MORE..."重置为"Commit 1 - Some..."提交。
  2. Step 2 ,您将根据文件进行更改。
  3. Step 3 ,您可以选择性地使用git add <filenames>或使用git add --all所有已更改的文件添加到暂存区域。
  4. 在最后一步中,您将在暂存区域中提交更改。

注意:您可以使用-c-C 。 small -c将打开一个用于修改提交消息的编辑器,在这种情况下它将是Commit 2 - Some MORE...您可以根据需要编辑提交消息。

或者你可以使用大写-C 其中git将跳过编辑器窗口 _并重_用_LAST_提交消息在这种情况下再次Commit 2 - Some MORE...

重用“相同”提交消息也称为重做/重新授权。

在提交之前取消暂停

要在提交之前撤消暂存的更改,只需运行git reset <file>git reset以在提交之前取消所有更改。

注意在旧版本的git中命令分别是git reset HEAD <file>git reset HEAD 。这在Git 1.8.2中有所改变

更多技巧:

您可以通过使用返回任意数量的提交git reset --soft HEAD~n要撤消最后n提交。

归因:

本文基于Stack Overflow问题在此处此处