繁体   English   中英

合并两个git分支之间的diff并将其应用于工作副本

[英]Merging diff between two git branches and applying it to working copy

我有一个开发存储库和一个部署存储库。 在部署代码时,会从dev中检出代码库,将rsync与部署工作副本进行rsync,并将其提交到部署存储库。 因此,这些存储库是分开的,但是相似。

在dev上,我有一个分支。 我想将该分支“应用”到部署工作副本。 换句话说,我想将分支上的所有提交(不包括合并)重播到部署存储库(如果可能,在一次提交中),或者在分支和主服务器之间进行差异并将其应用于部署工作副本。

我认为类似的svn命令是:

svn merge $SVN_REPO/trunk $SVN_REPO/branch/dev_branch deploy_dir

...其中deploy_dir甚至不需要是工作副本。

这可能吗?

一种方法是从另一个repo获取分支:

cd <deploy-path>
git remote add devel <devel-path>
git fetch devel

git cherry-pick devel/master...devel/branch  # Assuming your branch is based on master

另一种方法是创建一个补丁,然后应用它:

git diff commitid1 commitid2 > something.patch
cd deploy
git apply something.patch

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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