我和我的合作伙伴正在使用 git 遥控器,并且都具有对遥控器的写入权限。
他做了一些更改,提交它们并将它们推送到远程,
我在我的机器上做了一些更改,并且没有获取/拉动只是强制推送我的提交。这反过来又导致我的合作伙伴的提交丢失。
所以我有两个问题:
1. 有没有办法让这些提交回来?
2. 在我推送之后,我的合作伙伴是否也会从他的机器上获取、拉取他所做的更改?
我和我的合作伙伴正在使用 git 遥控器,并且都具有对遥控器的写入权限。
他做了一些更改,提交它们并将它们推送到远程,
我在我的机器上做了一些更改,并且没有获取/拉动只是强制推送我的提交。这反过来又导致我的合作伙伴的提交丢失。
所以我有两个问题:
1. 有没有办法让这些提交回来?
2. 在我推送之后,我的合作伙伴是否也会从他的机器上获取、拉取他所做的更改?
如果您推送覆盖其他人代码的提交,并且没有拉取;git 会抛出类似这样的错误:
error: failed to push some refs to 'git@github.com:foo'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'non-fast forward'
section of 'git push --help' for details.
如果您确实覆盖了某些内容,则可以恢复整个 git 存储库。有关示例,请参阅此堆栈溢出问题: 如何在 git 中将文件恢复到以前的状态?