相关疑难解决方法(0)

'git reset --hard HEAD~1'和'git reset --soft HEAD~1'有什么区别?

我试图在git中撤消我的提交.使用危险git reset --hard HEAD~1吗?

不同选项有git reset什么区别?

git undo git-reset

47
推荐指数
3
解决办法
9万
查看次数

提交后将问题与提交相关联

我做了一个git提交并推送到github,但忘了提交提交中的问题编号(我忘了写类似的东西... closes #123).

如果我在提交消息中提到了问题编号,那么github会将提交连接到问题.在提交之后有什么办法可以做到这一点,那时我更改提交消息为时已晚?

编辑:假设修改提交或以其他方式改变历史为时已晚.我真的在问github功能,而不是git.

github

25
推荐指数
2
解决办法
8026
查看次数

删除引用问题的已删除提交

我修改了一次提交并且push --force每次都做了(愚蠢的错误;我没有意识到直到准备好发送一个PR,我的编辑器通过修复标签和尾随空格来产生大量的噪音).我认为不再存在的提交仍然可以在GitHub上访问,并且问题引用会导致出现这些不存在的提交的链接列表:

链接到GitHub问题中不存在的提交

如何在GitHub遥控器上摆脱这些提交,以便这些额外的链接消失?

git github issue-tracking

17
推荐指数
1
解决办法
1589
查看次数

从github删除提交

可能重复:
如何删除github上的提交?
如何删除'git commit'

所以我试图从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有我删除的那三个提交.

我究竟做错了什么?如何保持提交不返回?

git commit github

13
推荐指数
1
解决办法
3万
查看次数

强制推送后如何从 GitHub PR 中永久删除(或隐藏)提交

为了从 GitHub 存储库中删除提交,典型的建议是在本地删除提交(例如,通过git rebase -i)并将修改后的分支强制推送到原始远程分支上

但是,如果有问题的远程分支是拉取请求的一部分,GitHub 现在会很有帮助地显示消息

<user><remote_branch>分支从<old-commit><new-commit>

和显示的链接以查看之间的差异<old-commit><new-commit>。(这似乎是最近的变化,我不记得以前遇到过这个消息。)

根据这里的另一个答案,GitHub 应该定期删除不再被引用的提交。但是因为他们确实在他们的 UI 中引用了旧的提交,我怀疑他们会保留它。(我已经很长时间没有看到这个明显的新功能了,也没有发现任何官方提到它。)

是否可以以防止其他用户看到该提交的方式删除远程提交?或者至少可以从 PR 讨论页面中删除上面的消息?有没有其他方法可以更改 PR 底层分支的内容,而每个人都无法从 PR 页面访问旧提交(至少除非他们知道提交哈希)?

(这个问题与删除密码等敏感信息无关 - 我知道无论之后是否有可能删除提交,这些都应该被视为受到损害。)

git github

12
推荐指数
1
解决办法
1924
查看次数

格里特:![远程拒绝] HEAD - > refs/publish/master(没有新的更改)

我做了一些更改,提交了它们并将分支推送到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我的变更集需要进行审核?

git gerrit

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

团队成员为git添加了数百个megs

可能重复:
如何删除github上的提交?

因此,我们项目的团队成员已经承诺并向我们的git项目存储库推送了700多万个废话...她认为她只添加了2个图像,但不知何故最终将她桌面的全部内容复制到git文件夹并以某种方式提交它.我不知道为什么她认为2张照片上传20分钟并不奇怪...

无论如何,我现在处于困境,作为这个项目的负责人.就我而言,我有两个选择,我不喜欢任何一个

  1. 我可以从bitbucket中删除存储库,然后用我想要的文件重新启动它.这将删除所有以前的编辑,因为只有我想要的文件的当前版本可用

  2. 我可以删除错误的数据并推送更改.只有我们想要的文件才会被进一步管理,但是她放在那里的所有额外的麻烦将永远存在于git中,这使我们的项目膨胀100倍.

有没有办法永远删除提交,就好像它从未发生过一样?除了更多的补救性git训练之外,管理这种打嗝的最佳方法是什么...

git extra

8
推荐指数
1
解决办法
532
查看次数

git checkout 提交并删除较新的提交

我在 github 中做了错误的提交,我想做以下事情:

  1. 从与 master 不同的分支检出到旧提交
  2. 将此提交作为我的最后一次提交(在此之后删除那些)
  3. 将此分支设为主分支并删除所有其他分支
  4. 将主分支合并到一个新分支

是否有可能做到这一点?

github git-checkout git-commit

6
推荐指数
1
解决办法
1169
查看次数

如何在GitHub中将推送恢复到存储库

我提交了一些更改,并推动了github中的远程分支.但后来我意识到我在提交中犯了一些错误,并且推了很多错误的文件.有没有办法恢复推动?

git

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

Git删除推送提交

我在我的项目中使用git存储库.我不小心推了2个我不应该提交的提交.在某些人之间已经做出了承诺.是否可以删除我推送的提交,或者我必须删除我的代码更改并将其作为新提交推送,因为有人已经提交了它.

Git Master分支:

由我提交一个//

承诺B //由我

由某人提交C //

现在我必须删除提交A和B离开提交C.任何帮助将非常感谢.

git github

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