如何更新远程分支?
How can I update a remote branch?
使用 SourceTree,我将我的本地存储库重置为之前的提交。然后我使用 GitBash 执行 gitk --date-order
以查看我推送到的 Bare 存储库中的提交,以便将其更新为相同的先前提交。我使用 git update-ref HEAD [SHA ID]
完成了此操作。 Bare 仓库和我原来重置的仓库都只有一个分支。
现在我想将我的远程存储库更新回之前的提交。我不清楚如何使用 git remote
命令来做同样的事情。问题是我有两个远程分支:开发和掌握。我只把那些我想重置的更改推送到开发分支(master 还没有被合并)。
谁能告诉我正确更新我的远程开发分支的命令?
git remote add development E:Code/Code.Website1
git push development -f
请注意,如果您没有备份开发远程,历史将不会保留,您将无法恢复。
请理解,如果其他任何人都可以访问您的遥控器,您不应更改您的远程历史记录。
我不熟悉使用 GitBash,我在这里使用 TortoiseGit(新手的 GUI)添加一个答案:
Force re-basing remote branch with local branch using TortoiseGit
像上面提到的许多人一样,如果仅使用您的“私有”回购分支,则执行此操作,这意味着没有人会因为您将远程“开发”或“功能”分支与您的本地重新建立联系而向您扔椅子复制。其他已承诺并推动其一周(或更多)工作的开发人员将从分支的历史记录(日志)中删除。
将无法恢复它们 - 当然,您的合作开发人员仍将保留他们的更改,因为他们的 PULL 很可能会抛出错误,因为他们将远远领先于分支当前历史记录或最新提交与他们的。好东西 Git 是分布式版本控制系统。
因此,请小心使用此恢复远程分支的权力。特此警告您。 ;)
使用 SourceTree,我将我的本地存储库重置为之前的提交。然后我使用 GitBash 执行 gitk --date-order
以查看我推送到的 Bare 存储库中的提交,以便将其更新为相同的先前提交。我使用 git update-ref HEAD [SHA ID]
完成了此操作。 Bare 仓库和我原来重置的仓库都只有一个分支。
现在我想将我的远程存储库更新回之前的提交。我不清楚如何使用 git remote
命令来做同样的事情。问题是我有两个远程分支:开发和掌握。我只把那些我想重置的更改推送到开发分支(master 还没有被合并)。
谁能告诉我正确更新我的远程开发分支的命令?
git remote add development E:Code/Code.Website1
git push development -f
请注意,如果您没有备份开发远程,历史将不会保留,您将无法恢复。
请理解,如果其他任何人都可以访问您的遥控器,您不应更改您的远程历史记录。
我不熟悉使用 GitBash,我在这里使用 TortoiseGit(新手的 GUI)添加一个答案: Force re-basing remote branch with local branch using TortoiseGit
像上面提到的许多人一样,如果仅使用您的“私有”回购分支,则执行此操作,这意味着没有人会因为您将远程“开发”或“功能”分支与您的本地重新建立联系而向您扔椅子复制。其他已承诺并推动其一周(或更多)工作的开发人员将从分支的历史记录(日志)中删除。
将无法恢复它们 - 当然,您的合作开发人员仍将保留他们的更改,因为他们的 PULL 很可能会抛出错误,因为他们将远远领先于分支当前历史记录或最新提交与他们的。好东西 Git 是分布式版本控制系统。
因此,请小心使用此恢复远程分支的权力。特此警告您。 ;)