[英]Partial subtree upstream push in Git
我在 Git 中有一个情况,我有一个核心存储库,它通过 Git 子树与其他存储库共享/使用。 在回购“项目”中,我有子树回购“核心”,在该核心中,我进行了各种提交,此后我已提交并推送到“项目”。 我现在想将“核心”文件夹中的这些更改推送到实际的“核心”存储库。 这通常可以通过以下方式完成:
git subtree push --prefix=/core/ core-repo master
但是,“核心”文件夹中恰好有一个提交,我想将其保留在“项目”的本地。 便宜的 hacky 方法是将所有内容推到上游,然后还原一次提交。 我想知道是否有更合适的方法来阻止这些特定的变化向上游传播。 谢谢。
通常,您可以通过以下方式推送特定提交:
git push <remotename> <commit SHA>:<remotebranchname>
这会将所有提交推送到远程分支,直到指定的(包括在内)。
您也应该能够(但我尚未对其进行测试)通过子树推送来执行此操作。 就像是:
git subtree push --prefix=/core/ core-repo <commit SHA>:master
在您的情况下, <commit SHA>
应该是您想要避免推送的提交之前的提交。
请注意,如果您在不想推送的提交之后有提交,则必须使用git rebase
重新排序提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.