【发布时间】:2016-10-07 15:04:42
【问题描述】:
我已经克隆了 repo,并从 master 创建了一个名为 working-branch 的新分支。我只是在做本地提交,我还没有推送任何东西。我实际上想首先创建新分支,然后将该分支推送到远程,但我只想从工作分支获取提交历史记录。怎么做?我正在阅读有关git rebase 的信息,但我不知道这是否正确。
【问题讨论】:
标签: git git-branch git-merge
我已经克隆了 repo,并从 master 创建了一个名为 working-branch 的新分支。我只是在做本地提交,我还没有推送任何东西。我实际上想首先创建新分支,然后将该分支推送到远程,但我只想从工作分支获取提交历史记录。怎么做?我正在阅读有关git rebase 的信息,但我不知道这是否正确。
【问题讨论】:
标签: git git-branch git-merge
那将是一个新的回购。一个 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
在解决工作分支上可能存在的冲突后,这会将您的新提交添加到主分支的尖端。
【讨论】:
假设您已签出working-branch。
git checkout -b new-branch
git push origin new-branch
【讨论】: