繁体   English   中英

Git 中的部分子树上游推送

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM