Git 来自工作分支的新分支,仅来自工作分支的提交
Git new branch from working branch with commits only from working branch
我克隆了 repo,并从 master 创建了一个名为 working-branch 的新分支。我只是在做本地提交,我还没有推送任何东西。我实际上想首先创建新分支,然后将该分支推送到远程,但我只想从工作分支获取提交历史记录。怎么做?我正在阅读有关 git rebase
的内容,但我不知道这是否正确。
假设您已经 working-branch
签出。
git checkout -b new-branch
git push origin new-branch
那将是一个新的回购协议。 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
这将在解决您的工作分支上可能存在的冲突后,将您的新提交添加到 master 分支的顶端。
我克隆了 repo,并从 master 创建了一个名为 working-branch 的新分支。我只是在做本地提交,我还没有推送任何东西。我实际上想首先创建新分支,然后将该分支推送到远程,但我只想从工作分支获取提交历史记录。怎么做?我正在阅读有关 git rebase
的内容,但我不知道这是否正确。
假设您已经 working-branch
签出。
git checkout -b new-branch
git push origin new-branch
那将是一个新的回购协议。 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
这将在解决您的工作分支上可能存在的冲突后,将您的新提交添加到 master 分支的顶端。