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