我有一个开发存储库和一个部署存储库。在部署代码时,会从dev中检出代码库,将rsync与部署工作副本进行rsync,并将其提交到部署存储库。因此,这些存储库是分开的,但类似。
在开发中,我有一个分支。我想将该分支“应用”到部署工作副本。换句话说,我想将分支上的所有提交(不包括合并)重放到部署存储库(如果可能的话,在一次提交中),或者在分支和主服务器之间进行差异并将其应用于部署工作副本。 / p>
我认为类似的svn命令是:
svn merge $SVN_REPO/trunk $SVN_REPO/branch/dev_branch deploy_dir
...其中deploy_dir甚至不需要是工作副本。
这可能吗?
答案 0 :(得分:13)
一种方法是从另一个仓库获取分支:
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