【问题标题】:How to overwrite my local branch content to my local and remote development branch?如何将我的本地分支内容覆盖到我的本地和远程开发分支?
【发布时间】:2016-06-20 08:54:57
【问题描述】:

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

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

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

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

【问题讨论】:

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

标签: git github version-control merge


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-09-07
    • 2021-07-14
    • 2016-04-12
    • 2016-01-16
    • 2018-12-20
    • 2021-05-21
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    相关资源
    最近更新 更多