已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
昨天关门了。
Improve this question
我有下一个提交:
* be23d923d (HEAD -> bot) Dump more info
* 506b1b5a7 (office/bot) Fix IP for registry.gitlab.office
* fb7e89677 Show build log on failure
* 58c2e3606 Merge branch 'implement_test' into test2
运行git pull -v --rebase=merges
后,结果为:
* 42852fd6b (HEAD -> bot) Dump more info
* a3c657c09 (office/bot) Echo $IMAGE_TAG
* 506b1b5a7 Fix IP for registry.gitlab.office
* fb7e89677 Show build log on failure
* 58c2e3606 Merge branch 'implement_test' into test2
下面是该命令的日志:
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done.
From office-repo:office/bot
506b1b5a7..a3c657c09 bot -> office/bot
= [up to date] prod -> office/prod
Changes from 506b1b5a7ebcf0e9778279f5de90bd67c0462e0a to a3c657c099ea0077a22d77de10029dd35be1058d:
.gitlab-ci.yml | 1 +
1 file changed, 1 insertion(+)
Rebasing (1/4)
Rebasing (2/4)
Rebasing (3/4)
.gitlab-ci.yml | 1 +
1 file changed, 1 insertion(+)
Successfully rebased and updated refs/heads/bot.
我们可以看到远程存储库上只有on commit:
git log -w -b -p --ignore-blank-lines --full-history 506b1b5a7..a3c657c09
commit a3c657c099ea0077a22d77de10029dd35be1058d (office/bot)
Author: Administrator <admin@example.com>
Date: Sun Dec 18 15:54:06 2022 +0000
Echo $IMAGE_TAG
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4ca4f8769..e4e25a947 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,6 +23,7 @@ build-job:
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --pass>
- docker build -t $IMAGE_TAG .
- docker push $IMAGE_TAG
+ - echo $IMAGE_TAG
test-job1:
stage: test
为什么有三个变基,而我期望的是一个?Git还省略了最后一个变基?
(It显示1/4、2/4、3/4,并且没有Rebase 4/4
)
1条答案
按热度按时间lh80um4z1#
这里使用的是
--rebase=merges
,这意味着pull命令使用git rebase --rebase-merges
执行重定基。如果只使用
git pull -v --rebase
进行测试,您将看到一个rebase步骤,正如您所期望的那样。但是对于
--rebase=merges
,您可以将其分解为git fetch
和git rebase --rebase-merges -i office/bot
,-i
将让我们看到它将要应用的重定基步骤。这是我在模拟案例中得到的结果:
这意味着4个rebase指令。仍然是空行被认为是指令,但我确认它是:如果删除空行,则变基日志将显示
(n/3)
而不是(n/4)
。这些额外的步骤是需要处理合并的,在这种情况下,没有任何合并,但这些步骤仍然存在,因为我猜
git rebase --rebase-merges
不会优化它们,即使它看到没有合并。