0

我和我的合作伙伴正在使用 git 遥控器,并且都具有对遥控器的写入权限。

他做了一些更改,提交它们并将它们推送到远程,

我在我的机器上做了一些更改,并且没有获取/拉动只是强制推送我的提交。这反过来又导致我的合作伙伴的提交丢失。

所以我有两个问题:

1. 有没有办法让这些提交回来?

2. 在我推送之后,我的合作伙伴是否也会从他的机器上获取、拉取他所做的更改?

4

1 回答 1

0

如果您推送覆盖其他人代码的提交,并且没有拉取;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 中将文件恢复到以前的状态?

于 2013-05-16T15:41:18.610 回答