【问题标题】:Git new branch from working branch with commits only from working branch来自工作分支的 Git 新分支,仅来自工作分支的提交
【发布时间】:2016-10-07 15:04:42
【问题描述】:

我已经克隆了 repo,并从 master 创建了一个名为 working-branch 的新分支。我只是在做本地提交,我还没有推送任何东西。我实际上想首先创建新分支,然后将该分支推送到远程,但我只想从工作分支获取提交历史记录。怎么做?我正在阅读有关git rebase 的信息,但我不知道这是否正确。

【问题讨论】:

    标签: git git-branch git-merge


    【解决方案1】:

    那将是一个新的回购。一个 git 存储库包含从一开始的所有提交。但是请记住,当您推送一个新分支时,您不会复制所有先前的提交,而只是推送自您分支以来的新提交以及对该树中最后一次提交的引用。这是 git 分支的美妙之处,它们非常轻量级,因为它们基本上是包含分支名称和提交 ID 的文件中的一行。

    https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell

    如果您想要将工作分支中的提交添加到 master,您可以执行以下操作:

    git checkout working-branch 
    git rebase master 
    git checkout master 
    git merge working-branch 
    git push origin master 
    

    在解决工作分支上可能存在的冲突后,这会将您的新提交添加到主分支的尖端。

    【讨论】:

      【解决方案2】:

      假设您已签出working-branch

      git checkout -b new-branch
      git push origin new-branch
      

      【讨论】:

      • 不是这样,我仍然有来自主分支和工作分支的每个提交。 .git 很大,包含来自主提交和我的提交的所有内容。我只想要我的。
      猜你喜欢
      • 2015-11-07
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多