我在一个私人 Gitlab 存储库上创建了我的公共 Github 存储库的一个分支。我在 fork 的一个分支中进行了多次提交,并希望将所有这些更改(公共 repo 分支和私有 repo 分支之间的差异)作为单个提交再次推送到 GitHub 上的公共 repo 分支。我只想使用命令行。
有人知道怎么做这个吗?
我认为这与 git squash 有关。
我在一个私人 Gitlab 存储库上创建了我的公共 Github 存储库的一个分支。我在 fork 的一个分支中进行了多次提交,并希望将所有这些更改(公共 repo 分支和私有 repo 分支之间的差异)作为单个提交再次推送到 GitHub 上的公共 repo 分支。我只想使用命令行。
有人知道怎么做这个吗?
我认为这与 git squash 有关。
请参阅我的旧答案“在 git 中,和有什么区别?merge --squash
rebase
”
你可以在你的私有仓库中创建另一个分支,merge --squash
你的修复分支,然后推送由单个提交组成的新分支。
git checkout -b newBranch origin/master
git merge --squash my_fix_branch
git push -u origin newBranch
从 GitHub 上的远程私有仓库,您可以从新推送的分支发出拉取请求,将单个提交合并回原始仓库。