本地网络有个 git 仓库,main 都是其他分支 merge 得到的,就 3 ,4 个 commit, 其他分支有总共几十个提交。
现在想将 main 分支的这几个 commit 发布到外网的 git 仓库,其他分支不发 外网仓库刚新建,无任何内容 使用
git push remotename main
期望外网 main 只有 3 ,4 个提交, 但结果外网的 git main 出现几十个提交,包含了所有分支的信息
请问这是啥问题,该如何操作实现期望的几个提交结果, 谢谢
1
yeqizhang 304 天前 via Android 1
你不是问题,你看错本地的 main 了?本地的 main 合了其它分支必然包括那些提交
|
3
dfkjgklfdjg 304 天前 1
你应该用 squash 把想要合并进来分支历史压缩成一个 Commit 。直接 merge 会带着合并进来的分支中所有的 commit 的
|
4
dfkjgklfdjg 304 天前
@yeqizhang #1 ,OP 的 main 里面的 4 个 commit 应该都是 merge commit 吧。
|
5
MENGKE 304 天前
git merge xxx --no-ff
|
6
lisxour 303 天前 1
|
7
leonshaw 303 天前 2
commit 不是空中楼阁
|
8
smdbh OP @lisxour ,我是想只要蓝色的 push 出去,实际是紫色的也有了。 “如果你合并分支时,不把 commit 合成一个,其实是会把每一条 commit 带过来的”, 是不是说紫色先要 squash 成 1 个 commit 再 merge 到 main ?
|
9
dfkjgklfdjg 303 天前
@smdbh #8 ,是的
|
10
jpuyy 303 天前
git log main 有多少 commit, push 到 remote main 就会有多少 commit
|