我正在尝试基于一个基于GitPro的书:https://git-scm.com/book/en/v2/Git-Branching-Rebasing,但是我没有得到相同的输出,我很困惑。
如果我只有一个文本文件,请签出一个新分支,然后进行编辑:
$ git branch
* master
$ git checkout -b test
Switched to a new branch 'test'
$ echo "one change" > my_file.txt
$ git commit -am "Change one"
echo "another change" > my_file.txt
$ git commit -am "Change two"
在此阶段,GitPro表示,如果您在此分支中运行rebase
,则输出将为
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: added staged command
但是,当我运行它
$ git rebase master
Current branch test is up to date.
当我回到master并合并时,它会快速前进,但是分支中的所有提交都显示在日志中
commit ac492923dc11ac50c43b55afe639210a4b665130 (HEAD -> master, test)
Author: Chris <chris@localhost>
Date: Sun Jun 7 18:26:22 2020 +0100
Change two
commit 6c5887a51abc30530edbe18d4c9b4c31756f6ffc
Author: Chris <chris@localhost>
Date: Sun Jun 7 18:25:50 2020 +0100
Change one
GitPro建议这些提交不应该在日志中。那么,怎么回事,我在做什么错?
答案 0 :(得分:2)
您需要使master
和test
分开,以便一个可以基于另一个。
第一个提交Change one
可以放在master
分支上,而提交Change two
可以放在test
分支上。这样,您的master
分支和test
分支将一次提交分开。然后,您可以在test
git rebase master
您将看到所需的输出。