相关疑难解决方法(0)

如何撤消Git中最近的提交?

我不小心将错误的文件提交给Git,但我还没有将提交推送到服务器.

如何从本地存储库中撤消这些提交?

git version-control undo pre-commit git-commit

2万
推荐指数
103
解决办法
826万
查看次数

如何将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存储库目前在原点之前提交了五个提交,并且状态不佳.我想摆脱所有这些提交并重新开始.

显然,删除我的工作目录并重新克隆会这样做,但是再次从GitHub下载所有内容似乎有些过分,而且不能很好地利用我的时间.

也许git revert是我需要的,但我不希望在原点(甚至六个)之前提交10个提交,即使它确实使代码本身恢复到正确的状态.我只想假装最后半小时从未发生过.

是否有一个简单的命令可以做到这一点?这似乎是一个明显的用例,但我没有找到它的任何例子.


请注意,这个问题具体是关于提交,而不是关于:

  • 未跟踪的文件
  • 未分期的变化
  • 上演但未提交的变更

git

1304
推荐指数
20
解决办法
78万
查看次数

用简单的英语,"git reset"有什么作用?

我看到有趣的帖子解释了微妙之处git reset.

不幸的是,我读的越多,我就越不能完全理解它.我来自SVN背景,Git是一个全新的范例.我很容易变得善变,但Git更具技术性.

我认为git reset很接近hg revert,但似乎存在差异.

究竟究竟做了git reset什么?请包括以下详细说明:

  • 选项--hard,--soft--merge;
  • 你使用的奇怪符号HEADHEAD^HEAD~1;
  • 具体用例和工作流程;
  • 对工作副本,HEAD全球压力水平的影响.

git reset

657
推荐指数
5
解决办法
19万
查看次数

如何删除git中的第一个提交?

我很好奇如何删除git中的第一个提交.

在做出任何事情之前的修改是什么?此修订版是否有名称或标记?

git commit repository git-commit

136
推荐指数
5
解决办法
6万
查看次数

推送到git存储库时断管

我试图第一次将代码推送到我的git存储库但是我收到以下错误:

Counting objects: 222026, done. 
Compressing objects: 100% (208850/208850), done. 
Write failed: Broken pipe222026) 
error: pack-objects died of signal 13 
fatal: The remote end hung up unexpectedly error: failed to push some refs to 'ssh://git@bitbucket.org/<...>'
Run Code Online (Sandbox Code Playgroud)

我试图增加http缓冲区大小(git config http.postBuffer 524288000),我试过git repack,但它没有用.

我能够将一个非常相似的大小代码推送到另一个存储库(它不像这个git repack一样工作,但它确实工作后).我想把它推到bitbucket.

有任何想法吗?

git push broken-pipe bitbucket

32
推荐指数
4
解决办法
2万
查看次数