git - 如何将主分支的当前状态复制到另一个分支?

标签 git github merge

在此页面上尝试了已接受的答案: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 分支(如果我正确理解您的问题,应该会导致快进),或者进行本地推送。
  • merge :git checkout master; git merge mybranch
  • 本地推送:git push . mybranch:master

  • 推送有点类似于快进 merge (目标和目标分支切换)。

    随你选择:)

    关于git - 如何将主分支的当前状态复制到另一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39902460/

    相关文章:

    linux - 私有(private) Git repo - 在 pull 时卡住

    c++ - 将多个txt文件合并为一个

    git - "cannot pull into a repository with state: merging_resolved"

    dictionary - Go中的深度合并订单图

    svn - 无缝 git svn 设置

    bash - 为 "git submodule foreach"设置不同的 shell

    git - 移动 gitolite 服务器

    git - 继续实际提交吗?

    github - 如何将 Smartgit 链接到 GitHub

    git - GitHub 是否计算您在组织的私有(private)存储库中所做的提交