【发布时间】:2015-12-19 06:57:19
【问题描述】:
我正在关注this的回答以了解git merge和rebase之间的区别,并在Github中创建了一个示例存储库以很好地理解它,但我看到的是 git merge 和 rebase 操作的提交次数相同。
让我解释一下我的表现。
第 1 步:我创建了一个项目并将其推送到 Github 存储库的 master 分支。
第 2 步: 创建名为 - feature-one 的功能分支,以 base 作为主分支,添加虚拟文件并提交如下:
git checkout -b feature-one
touch test.txt
git add .
git commit -m "feature-one first commit"
touch another-test.txt
git add .
git commit -m "feature-one second commit"
第 3 步: 切换回 master 分支,并使用 git merge 将其中的 feature-one 分支合并,如下所示:
git checkout master
git merge feature-one
现在我可以在 master 中看到两个额外的提交(功能一第一次提交,功能一第二次提交)以及初始提交。
然后,我完成了相同的步骤,并使用 git master 分支对其进行了重新定位,如下所示:
git checkout -b feature-one
touch test-rebase.txt
git add .
git commit -m "feature-one third commit"
touch another-test-rebase.txt
git add .
git commit -m "feature-one fourth commit"
第 4 步: 切换回 master 分支,并使用 git rebase 合并其中的 feature-one 分支,如下所示:
git checkout master
git rebase feature-one
现在,我可以再次在 master 中看到两个额外的提交(特征一第三次提交,特征一第四次提交)以及之前的三个提交。
我的期望是,一旦使用 master 重新定位,我将不会看到功能分支提交。
现在我的问题是我的期望正确还是做错了什么?
谁能解释一下?
谢谢。
【问题讨论】:
-
1.我想第一个代码块
git checkout -b feature的第一行的分支名称是feature-one,而不是feature,对吧? -
@user3159253:是的,它是功能之一,错字已更正。