相关疑难解决方法(0)

如何将Git存储库还原为以前的提交

如何从当前状态恢复为在某个提交时创建的快照?

如果我这样做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-revert git-checkout git-reset

7278
推荐指数
42
解决办法
549万
查看次数

漂亮的git分支图

我已经看到一些书籍和文章有一些非常漂亮的git分支和提交图.如何制作git历史的高质量可打印图像?

git git-log

1290
推荐指数
33
解决办法
65万
查看次数

在拉动期间解决Git合并冲突以支持其更改

如何解决git合并冲突,支持拉动更改?

基本上我需要从工作树中删除所有冲突的更改,而不必经历所有冲突,git mergetool同时保持所有无冲突的更改.最好在拉动时这样做,而不是之后.

git git-merge git-merge-conflict

1104
推荐指数
13
解决办法
71万
查看次数

如何解除我在Git中的最后一次提交

我如何取消承诺我在git中的最后一次提交?

是吗

git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)

要么

git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)

git undo git-reset git-index

819
推荐指数
8
解决办法
75万
查看次数

git reset --mixed, - soft和--hard有什么区别?

我希望拆分提交,不知道要使用哪个重置选项.

我在看页面你能解释一下"git reset"用简单的英语做什么吗?,但我意识到我并不真正理解git索引或临时区域是什么,因此解释没有帮助.

此答案中的用例--mixed--soft看起来一样(当你想要修复和重新发送时.)有人可以将其分解吗?我意识到--mixed可能是选择,但我想知道为什么.最后,怎么样--hard

有人能给我一个如何选择3个选项的工作流程示例吗?

git version-control

691
推荐指数
12
解决办法
17万
查看次数

如何在不丢失更改的情况下取消提交最后一次未推送的git提交

有没有办法恢复提交,以便我的本地副本保留在该提交中所做的更改,但它们在我的工作副本中变为未提交的更改?回滚提交会将您带到上一次提交 - 我想保留所做的更改,但我将它们提交到了错误的分支.

这没有被推动,只是承诺.

git

451
推荐指数
7
解决办法
20万
查看次数

使用Git恢复基于提交ID的特定提交?

有了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

302
推荐指数
4
解决办法
48万
查看次数

如何在进行本地提交后再次取消暂存我的文件?

我做了以下命令

git add <foo.java>
git commit -m "add the foo java"
Run Code Online (Sandbox Code Playgroud)

如何立即删除我的本地提交并使foo.java处于未暂停状态?

如果我输入git reset --hard,我发现它会将我的修改foo.java恢复为原始的.

git

227
推荐指数
7
解决办法
22万
查看次数

git中的HEAD是什么?

最后一次提交,HEAD和我在目录中可以看到的文件状态之间似乎有区别.

什么是HEAD,我该怎么办?我应该避免哪些错误?

git head

220
推荐指数
4
解决办法
8万
查看次数

"git checkout -f"和"git reset --hard HEAD"有什么区别?

我需要还原部署的本地更改.(我svn revert在旧的skool SVN时代已经习惯了.)

我正在使用git reset --hard HEAD这个.(此外git fetchgit merge origin/$branch --no-ff用于与上游分支同步处理资料.)

但有些文章指出git checkout -f要恢复变化.

这些命令之间的主要区别是什么.推荐哪种方式?

git

70
推荐指数
2
解决办法
8万
查看次数