使用git log,我得到了迄今为止我所做的提交列表。
git log
commit f5c5cac0033439c17ebf905d4391dc0705dbd5f1 Author: prosseek Date: Fri Sep 3 14:36:59 2010 -0500 Added and modified the files. commit c14809fafb08b9e96ff2879999ba8c807d10fb07 Author: prosseek Date: Tue Aug 31 08:59:32 2010 -0500 Just simple test for core.editor. ... etc ...
如何将其恢复为特定提交?例如,如果我想回去,我应该怎么做commit c14809fafb08b9e96ff2879999ba8c807d10fb07?
commit c14809fafb08b9e96ff2879999ba8c807d10fb07
有没有其他/更好的方法可以返回到 Git 的特定提交?例如,我可以为每个提交添加一些标签以将其与标签一起取回吗?
你想将你的 repo 回滚到那个状态,或者你只是想让你的本地 repo 看起来像这样?
如果 you reset --hard,它将使您的本地代码和本地历史记录与提交时一样。但是,如果您想将其推送给拥有新历史的其他人,它将失败:
reset --hard
git reset --hard c14809fa
如果你reset --soft,它会将你的 HEAD 移动到它们所在的位置,但保持你的本地文件等相同:
reset --soft
git reset --soft c14809fa
那么你到底想用这个重置做什么呢?
编辑 -
您可以将“标签”添加到您的存储库中......然后返回标签。但是标签实际上只是 sha1 的快捷方式。
您可以将其标记为 TAG1.. 然后是git reset --soft c14809fa,git reset --soft TAG1或git reset --soft c14809fafb08b9e96ff2879999ba8c807d10fb07都做同样的事情。
git reset --soft TAG1
git reset --soft c14809fafb08b9e96ff2879999ba8c807d10fb07