如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做git log,那么我得到以下输出:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date: Thu Nov 4 18:59:41 2010 -0400
blah blah blah...
commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date: Thu Nov 4 05:13:39 2010 -0400
more blah blah blah...
commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date: Thu Nov 4 00:55:06 2010 -0400
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc?
如何解决git合并冲突,支持拉动更改?
基本上我需要从工作树中删除所有冲突的更改,而不必经历所有冲突,git mergetool同时保持所有无冲突的更改.最好在拉动时这样做,而不是之后.
我如何取消承诺我在git中的最后一次提交?
是吗
git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)
要么
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
?
我希望拆分提交,不知道要使用哪个重置选项.
我在看页面你能解释一下"git reset"用简单的英语做什么吗?,但我意识到我并不真正理解git索引或临时区域是什么,因此解释没有帮助.
此答案中的用例--mixed和--soft看起来一样(当你想要修复和重新发送时.)有人可以将其分解吗?我意识到--mixed可能是选择,但我想知道为什么.最后,怎么样--hard?
有人能给我一个如何选择3个选项的工作流程示例吗?
有没有办法恢复提交,以便我的本地副本保留在该提交中所做的更改,但它们在我的工作副本中变为未提交的更改?回滚提交会将您带到上一次提交 - 我想保留所做的更改,但我将它们提交到了错误的分支.
这没有被推动,只是承诺.
有了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 ...
Run Code Online (Sandbox Code Playgroud)
如何将其还原为特定提交?例如,如果我想回去,我该怎么办commit c14809fafb08b9e96ff2879999ba8c807d10fb07?
有没有其他/更好的方法回到Git的特定提交?例如,我可以将每个提交的一些标签放回标签中吗?
我做了以下命令
git add <foo.java>
git commit -m "add the foo java"
Run Code Online (Sandbox Code Playgroud)
如何立即删除我的本地提交并使foo.java处于未暂停状态?
如果我输入git reset --hard,我发现它会将我的修改foo.java恢复为原始的.
最后一次提交,HEAD和我在目录中可以看到的文件状态之间似乎有区别.
什么是HEAD,我该怎么办?我应该避免哪些错误?
我需要还原部署的本地更改.(我svn revert在旧的skool SVN时代已经习惯了.)
我正在使用git reset --hard HEAD这个.(此外git fetch和git merge origin/$branch --no-ff用于与上游分支同步处理资料.)
但有些文章指出git checkout -f要恢复变化.
这些命令之间的主要区别是什么.推荐哪种方式?
git ×10
git-reset ×2
git-checkout ×1
git-index ×1
git-log ×1
git-merge ×1
git-revert ×1
head ×1
undo ×1