相关疑难解决方法(0)

有没有办法回滚我最后一次推送到Git?

可能重复:
撤消'git push'

我推了一些不好的代码,我是存储库的唯一用户.我怎么能回滚我的最后一次提交?

git

133
推荐指数
2
解决办法
16万
查看次数

将最后一个git提交移动(或"撤消")到非暂存区域

什么是移动你的最后git的承诺回到"不改变上演" +"未跟踪文件"方面的最佳方式(只在您的本地回购与提交的问题被不推/,有效地从HEAD删除)?

换句话说,如何回滚提交,但自动将差异应用于未分区?

git

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

如何删除Github上的最后一次提交和本地?

我正在尝试删除我的一个GitHub存储库中的最后两个提交.我试过这里的建议:git push -f origin HEAD ^^:master.它似乎工作,最后两个提交被删除.

然后我用git rebase -i HEAD~2从我的本地存储库中删除它们.我删除与这些提交相关的行,并使用git log检查它们是否被正确删除.

之后,我在本地存储库中进行了一些更改,进行了新的提交并推送到GitHub.问题是在我的GitHub帐户中我有前两次提交我试图删除.

我认为它存在于我的本地存储库中,因为如果我将我的Github存储库克隆到本地,并在我推送新提交时在这里进行一些更改,那些旧提交不会被推送到GitHub.

任何的想法?

git commit github

107
推荐指数
3
解决办法
7万
查看次数

git - 你的分支通过1次提交领先于'origin/master'

我是git的新手,我正在研究git.

我在git中添加了一些文件:

git add <file1>
git add <file2>
Run Code Online (Sandbox Code Playgroud)

然后我想推动审查,但我错了

git commit
Run Code Online (Sandbox Code Playgroud)

所以我改变的文件不用于评论.
现在,如果我输入命令:

git status
Run Code Online (Sandbox Code Playgroud)

它说

# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

我想恢复该提交,我想推送这些文件进行审核而不是提交.谁能让我知道我怎么能这样做?

git push commit

96
推荐指数
5
解决办法
21万
查看次数

git push --force-with-lease vs. --force

我试图了解它们之间的区别

git push -f
Run Code Online (Sandbox Code Playgroud)

git push --force-with-lease
Run Code Online (Sandbox Code Playgroud)

我的猜测是,如果遥控器没有本地分支没有的提交,后者只会推送到遥控

如果有更好的方式来表达问题,lmk,但希望它很清楚.

git git-push

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

我如何合并许多提交,但留下一个?

假设我有这个功能分支"foo".现在我想将它合并回master,但我添加了一些我不想在master中调试的代码.

调试代码在它自己的提交中,所以我可以git cherry-pick在每次提交时使用并省略此提交.但那会很烦人.

是否有一些"逆樱桃选择"这样做,或互动合并?

git merge

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

Git:推送后删除已提交的文件

是否有可能在Git中恢复已提交的文件?我已经将提交推送到GitHub然后我意识到有一个我不想被推送的文件(我还没有完成更改).

git github

70
推荐指数
7
解决办法
11万
查看次数

如何回滚前两次提交?

考虑这种情况:

  1. 开发人员A做了提交:#n
  2. 开发.B确实提交了#n + 1
  3. 开发.A确实提交了#n + 2
  4. 并提交#n + 3

然后发现他在#n + 2的提交中引入了一个缺陷.

如何开发.回滚他的最后2次提交并继续开发提交#n + 1

试过git reset --hard HEAD~2*,但它回到了开发者A的提交#n.

git github reset

67
推荐指数
2
解决办法
7万
查看次数

撤消快进合并

我已经对我希望撤消的git仓库进行了一些更改.

我的git repo看起来像这样:

A-B----     master
   \   /
    C-D     * develop
Run Code Online (Sandbox Code Playgroud)

我在develop分支机构,忘记它与master分支不同,进行了更改develop,将其合并master,然后推送到我的遥控器(称为publish).

因为自B(共同祖先)以来主人没有变化,所以git进行了快进合并.

现在,我的回购看起来像这样:

A-B-C-D   master, develop, remotes/publish/master, remotes/publish/develop.
Run Code Online (Sandbox Code Playgroud)

我想恢复最后一次合并,恢复master到B.

从我在如何撤消Git中的最后一次提交中读到的内容,我曾经git reset sha-of-B将我的master分支恢复到修订版B.

问题:

  • 如何恢复develop到修订版D?
  • 然后,我如何将这些更改推回到远程/发布?

git

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

使用git将提交从master移到分支上

我正在努力学习如何有效地使用Git,我想知道我应该如何(良好做法/不良做法?)解决以下案例:

假设我在master中有以下提交链:

  • 初始提交
  • 承诺1
  • 承诺2
  • 承诺3

然后我意识到在最后两次提交中完成的操作是完全错误的,我需要再次从Commit 1开始.问题:

  • 我该怎么办?
  • 我可以将Commit 2和3移动到一个单独的分支以备将来参考(毕竟它们并不是那么糟糕)并继续在master上使用Commit 1吗?

git commit git-reset git-branch

61
推荐指数
1
解决办法
2万
查看次数

标签 统计

git ×10

commit ×3

github ×3

git-branch ×1

git-push ×1

git-reset ×1

merge ×1

push ×1

reset ×1