繁体   English   中英

远程 GitHub 存储库的反射

[英]Reflection on remote GitHub repository

全部,

不幸的是,我不得不执行git reset --hard回滚到我在本地存储库上需要的修订版。 这意味着旧 HEAD 和我正在重置的修订版之间的所有提交都将消失。

现在,如果我执行git push --force会在远程 GitHub 存储库上发生同样的情况吗? 以及如何在另一台机器上保留相同的删除?

基本上,我希望远程 GitHub 存储库看起来与本地存储库完全相同 - 删除之间的所有提交,以及该存储库所在的所有其他机器都会删除这些提交。

或者我不应该执行git reset而需要另一个命令?

蒂亚!

PS 作为代码的唯一开发者,我不关心其他人。 所以,

git push --force
git pull (on another machine)

为了删除远程和另一台机器上的提交是正确的做法吗?

是的,如果您执行git push --force远程将看起来像您的本地存储库。 但是,作为最佳实践,您应该这样做:

git push --force-with-lease
git pull --rebase

--force-with-lease是一种安全措施,可防止您在远程分支比您的分支新时推送。 想象一下,在您拉取并重置 git 之后,一个新的提交被推送到存储库。 这将被--force覆盖,但不会被--force-with-lease覆盖。

即使您独自在存储库上工作,您也可能已经推送到另一台机器上并且在您进行强制推送时忘记了它。

git pull --rebase应该是默认的拉取方式。 对历史的任何更改都将被正确应用。 如果你有本地提交,它们将堆叠在历史之上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM