我试图在git中撤消我的提交.使用危险git reset --hard HEAD~1吗?
不同选项有git reset什么区别?
我做了一个git提交并推送到github,但忘了提交提交中的问题编号(我忘了写类似的东西... closes #123).
如果我在提交消息中提到了问题编号,那么github会将提交连接到问题.在提交之后有什么办法可以做到这一点,那时我更改提交消息为时已晚?
编辑:假设修改提交或以其他方式改变历史为时已晚.我真的在问github功能,而不是git.
我修改了一次提交并且push --force每次都做了(愚蠢的错误;我没有意识到直到准备好发送一个PR,我的编辑器通过修复标签和尾随空格来产生大量的噪音).我认为不再存在的提交仍然可以在GitHub上访问,并且问题引用会导致出现这些不存在的提交的链接列表:

如何在GitHub遥控器上摆脱这些提交,以便这些额外的链接消失?
所以我试图从github中删除一个提交.
这是3次提交之前,如果所有的更改都丢失了我就可以了.
所以基于这里的问题,我做了一个
git reset --hard <sha-commit-name-to-go-back-to>
git push -f origin HEAD^:master
Run Code Online (Sandbox Code Playgroud)
现在它已经从github以及git log中消失了.
然后我重新修改了我的修改
git add <file I changed>
git commit
git log
Run Code Online (Sandbox Code Playgroud)
一切都很好看.没有旧提交的痕迹.所以我终于做了一个:
git push
Run Code Online (Sandbox Code Playgroud)
现在突然github有我删除的那三个提交.
我究竟做错了什么?如何保持提交不返回?
为了从 GitHub 存储库中删除提交,典型的建议是在本地删除提交(例如,通过git rebase -i)并将修改后的分支强制推送到原始远程分支上。
但是,如果有问题的远程分支是拉取请求的一部分,GitHub 现在会很有帮助地显示消息
<user>将<remote_branch>分支从<old-commit>到<new-commit>
和显示的链接以查看之间的差异<old-commit>和<new-commit>。(这似乎是最近的变化,我不记得以前遇到过这个消息。)
根据这里的另一个答案,GitHub 应该定期删除不再被引用的提交。但是因为他们确实在他们的 UI 中引用了旧的提交,我怀疑他们会保留它。(我已经很长时间没有看到这个明显的新功能了,也没有发现任何官方提到它。)
是否可以以防止其他用户看到该提交的方式删除远程提交?或者至少可以从 PR 讨论页面中删除上面的消息?有没有其他方法可以更改 PR 底层分支的内容,而每个人都无法从 PR 页面访问旧提交(至少除非他们知道提交哈希)?
(这个问题与删除密码等敏感信息无关 - 我知道无论之后是否有可能删除提交,这些都应该被视为受到损害。)
我做了一些更改,提交了它们并将分支推送到Gerrit(git push gerrit).现在我的更改没有出现在Gerrit中,我认为这是因为我手动推送更改而不是使用git review.当我git review现在跑,我得到这个错误:
remote: Processing changes: refs: 1, done
To ssh://user@gerrit-host:29418/Project
! [remote rejected] HEAD -> refs/publish/master (no new changes)
error: failed to push some refs to 'ssh://user@gerrit-host:29418/Project'
Run Code Online (Sandbox Code Playgroud)
我如何告诉Gerrit我的变更集需要进行审核?
可能重复:
如何删除github上的提交?
因此,我们项目的团队成员已经承诺并向我们的git项目存储库推送了700多万个废话...她认为她只添加了2个图像,但不知何故最终将她桌面的全部内容复制到git文件夹并以某种方式提交它.我不知道为什么她认为2张照片上传20分钟并不奇怪...
无论如何,我现在处于困境,作为这个项目的负责人.就我而言,我有两个选择,我不喜欢任何一个
我可以从bitbucket中删除存储库,然后用我想要的文件重新启动它.这将删除所有以前的编辑,因为只有我想要的文件的当前版本可用
我可以删除错误的数据并推送更改.只有我们想要的文件才会被进一步管理,但是她放在那里的所有额外的麻烦将永远存在于git中,这使我们的项目膨胀100倍.
有没有办法永远删除提交,就好像它从未发生过一样?除了更多的补救性git训练之外,管理这种打嗝的最佳方法是什么...
我在 github 中做了错误的提交,我想做以下事情:
是否有可能做到这一点?
我提交了一些更改,并推动了github中的远程分支.但后来我意识到我在提交中犯了一些错误,并且推了很多错误的文件.有没有办法恢复推动?
我在我的项目中使用git存储库.我不小心推了2个我不应该提交的提交.在某些人之间已经做出了承诺.是否可以删除我推送的提交,或者我必须删除我的代码更改并将其作为新提交推送,因为有人已经提交了它.
Git Master分支:
由我提交一个//
承诺B //由我
由某人提交C //
现在我必须删除提交A和B离开提交C.任何帮助将非常感谢.
git ×8
github ×6
commit ×1
extra ×1
gerrit ×1
git-checkout ×1
git-commit ×1
git-reset ×1
undo ×1