【发布时间】:2019-01-09 18:19:22
【问题描述】:
我想知道是否从master 克隆了一个分支。现在你从master 中删除一些提交并强制推送。克隆分支上的这些提交也会被删除吗?
【问题讨论】:
标签: github branch git-branch
我想知道是否从master 克隆了一个分支。现在你从master 中删除一些提交并强制推送。克隆分支上的这些提交也会被删除吗?
【问题讨论】:
标签: github branch git-branch
否:从另一个分支的提交开始的分支仍将引用该提交,即使该其他分支更改(通过强制推送)其 HEAD。
如果您不想继续引用那些旧的提交,您可能希望在新的重置主节点之上重新设置您的分支。
git fetch
# see that origin/master has been reset
git checkout mybranch
git rebase --onto origin/master master myBranch
在这种情况下,master 仍本地位于旧 HEAD(当前分支从该 HEAD 开始)。origin/master 已重置(并且在 git fetch 之后是最新的)
之后,你可以重置自己的本地master:
git checkout master
git reset --hard origin/master
(确保您在进行git reset --hard 时没有任何正在进行的工作)
【讨论】: