如何将我的本地分支内容覆盖到我的本地和远程开发分支?



我们是一个开发团队,使用 git 作为版本控制系统。我向本地分支添加了一些更改,并将其推送到我的本地和远程development分支。 另一位开发人员在将他的内容合并到远程开发时,发现了我的更改。但是我的更改错误地被该开发人员删除了,他将更改推送到远程development分支。

当我将远程更改合并到我的本地development分支时,我丢失了添加的文件,该文件已被其他开发人员删除。

当我删除了更改时,我已经将分支重置为提交。重置后,我发现了更改,但我无法将其推送或合并到我的development分支。我不想重置master分支。

请帮忙,我应该怎么做才能覆盖对本地和远程开发分支的本地更改,以便再次添加丢失的文件。

git reflog可以在这里为您提供帮助。

您的朋友应该在强制推送之前,使用reflog在他的计算机上检索他的development分支的状态。

reflog菜单中,对于您的每个状态,都会有关联的提交哈希。他应该checkout一个新的分支,比如说development-copy,使用development分支的状态哈希,就像他git push -fdevelopment之前一样。现在,他应该看看development-copy上的git log,并从他想要添加到development的所有提交中创建一个补丁,然后将补丁发送到您的计算机,您可以在其中apply补丁。

最新更新