在此页面上尝试了已接受的答案:How to merge the current branch into another branch
但问题是,master 不需要任何更改,我使用以下命令创建了分支:git checkout -b mybranch
当我尝试时 git push self mybranch:master
它告诉我一切都是最新的。但我知道。我只想将分支复制到另一个分支,以便它具有主分支的当前状态。并且永远不会再被触碰。
将来我只会从主分支分支出来。这个另一个分支实际上永远不会被触及。但是我需要将它存档,以便在需要时可以切换到该分支并在任何时候将其带回来......
如何在不创建新仓库的情况下复制主分支?
最佳答案
如 answer by Zoli Szabo 中所述,您应该使用 tags标记历史上永远不应移动的事件。要创建标签,只需提供它的名称和它应该指向的提交。如果您提供分支名称而不是提交哈希,则标记将指向此分支的当前提示提交。
git tag mytag branch
git tag mytag 123ab45ef
但是要回答你的问题,如果你想让你的分支反射(reflect) master 的当前状态,你有几个选择:
git branch -f mybranch master
,然后 push 分支 git push origin master:mybranch
( -f
如果您需要强制更新)。小心,因为这可能会给其他人带来问题 ours
merge 策略( -s ours
),以创建具有所需状态的新提交。然后推送到远程存储库。 如果您只是想更新您的本地存储库,请 merge 分支(如果我正确理解您的问题,应该会导致快进),或者进行本地推送。
git checkout master; git merge mybranch
git push . mybranch:master
推送有点类似于快进 merge (目标和目标分支切换)。
随你选择:)
关于git - 如何将主分支的当前状态复制到另一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39902460/