相关疑难解决方法(0)

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

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

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

git version-control undo pre-commit git-commit

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

推送后更改git commit消息(假设没有人从远程拉出)

我做了一个git提交和随后的推送.我想更改提交消息.如果我理解正确,这是不可取的,因为有人可能在我进行此类更改之前从远程存储库中取出.如果我知道没有人拉过怎么办?

有没有办法做到这一点?

git push commit

919
推荐指数
13
解决办法
49万
查看次数

如何使用远程主服务器重新定义本地分支

我从远程存储库的master分支克隆了项目remote_repo.我创建了新的分支,我承诺了那个分支.其他程序员推到remote_repo了分支机构.我现在需要将我的分支RB重新绑定到remote_repomaster上.这该怎么做 ?键入终端的命令是什么?

git git-rebase

833
推荐指数
8
解决办法
71万
查看次数

在Git中压缩前两个提交?

随着git rebase --interactive <commit>你能够压制任意数量的提交连成一个单一的一个.

除非你想将提交压缩到初始提交中,否则这一切都很棒.这似乎是不可能的.

有没有办法实现它?


中度相关:

在一个相关的问题中,我设法提出了一种不同的方法来解决第一次提交的问题,这也就是说,它是第二次提交.

如果您有兴趣:git:如何插入提交作为第一个,转移所有其他?

git rebase git-rebase squash

529
推荐指数
5
解决办法
15万
查看次数

如何从远程分支永久删除一些提交

我知道这是重写历史,这是糟糕的亚达亚达.

但是如何从远程分支中永久删除一些提交?

git

412
推荐指数
9
解决办法
29万
查看次数

如何将更改的文件添加到Git中的旧(不是最后)提交

我在过去一小时内改变了一些事情,并一步一步地提交了它们,但我刚刚意识到我忘了在一些提交之前添加一个已更改的文件.

日志看起来像这样:

GIT TidyUpRequests u:1 d:0> git log 
commit fc6734b6351f6c36a587dba6dbd9d5efa30c09ce 
Author: David Klein <> 
Date:   Tue Apr 27 09:43:55 2010 +0200

    The Main program now tests both Webservices at once

commit 8a2c6014c2b035e37aebd310a6393a1ecb39f463 
Author: David Klein <>
Date:   Tue Apr 27 09:43:27 2010 +0200

    ISBNDBQueryHandler now uses the XPath functions from XPath.fs too

commit 06a504e277fd98d97eed4dad22dfa5933d81451f 
Author: David Klein <> 
Date:   Tue Apr 27 09:30:34 2010 +0200

    AmazonQueryHandler now uses the XPath Helper functions defined in XPath.fs

commit a0865e28be35a3011d0b6091819ec32922dd2dd8 <--- changed file …
Run Code Online (Sandbox Code Playgroud)

git

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

Git:如何压缩分支上的所有提交

我创建了新的分支master:

git checkout -b testbranch

我做了20次提交.

现在我要压缩那20个提交.我这样做:

git rebase -i HEAD~20

如果我不知道有多少提交怎么办?有什么方法可以做以下事情:

git rebase -i all on this branch

git version-control

241
推荐指数
15
解决办法
13万
查看次数

通过1次提交回滚本地和远程git存储库

我已经阅读了关于这个主题的类似帖子,并且不能为我的生活弄清楚如何正确地做到这一点.

我检查了大约1000个我不想要的文件,我宁愿不必通过1by1并将它们全部从回购中删除.

  • 我有一个远程master分支.
  • 我有当地的master分公司.

他们都在同一修订版.

我想通过1次提交回滚我的遥控器.

说我的历史master就是A--B--C--D--E.
我想回滚我的本地D.
然后将其推送到远程,这样我的当前哈希将是D远程和本地.

我这样做有问题.
我正在使用Git Tower,但我对命令行很满意.有帮助吗?

更新: 下面的好评.似乎部分不鼓励使用重置,特别是如果存储库与其他用户共享. 在不使用硬重置的情况下,撤消先前提交更改的最佳方法是什么?有办法吗?

git

170
推荐指数
6
解决办法
10万
查看次数

默认情况下,推送--force-with-lease

我刚学会了git push --force-with-lease.这太棒了.但是,当然,我不经常使用武力,所以我担心下次需要时我可能会忘记这个漂亮的功能.

有没有办法配置git所以git push -f会自动使用,--force-with-lease除非我有意覆盖它--no-force-with-lease

(我无法想象在没有租约的情况下想要使用武力!)

git

119
推荐指数
6
解决办法
2万
查看次数

Git:如何压缩两者之间合并提交的提交?

我正在开发一个功能分支.

  1. 做了几个提交.压缩提交.
  2. 推送更改远程分支.有冲突.
  3. 合并来自主要的更改,已解决的功能分支上的冲突.(git fetch origin master> git merge FETCH_HEAD>手动解决冲突> git commit> git push)
  4. 我做了一个提交.

因此,当前的提交历史记录如下所示.从现在到旧:

  1. 提交3
  2. 承诺M yyy(合并)
  3. 提交2

在将我的功能分支合并到主控之前,如何将3个提交压缩为1?

git merge git-squash

45
推荐指数
4
解决办法
3万
查看次数