用于部署的git分支

用于部署的git分支,git,deployment,branch,Git,Deployment,Branch,我创建此回购协议作为示例: 我在“master”上进行工作,并使用“deploy”分支部署到服务器。 在master branch上,我不想跟踪资产/供应商/*,所以我忽略了它们 在部署分支上,我添加了它们,因为它们需要存在才能部署。 都在这里工作 问题是,当我签回master时,资产/供应商/文件夹中被忽略的内容将被删除 我怎样才能阻止它?有没有更好的方法来保持一个单独的分支,以便在部署中使用一些不同的文件?您可以仅为主分支设置一个“excludefile”指令(以便忽略资产/vendor/

我创建此回购协议作为示例:

我在“master”上进行工作,并使用“deploy”分支部署到服务器。 在master branch上,我不想跟踪资产/供应商/*,所以我忽略了它们

在部署分支上,我添加了它们,因为它们需要存在才能部署。 都在这里工作

问题是,当我签回master时,资产/供应商/文件夹中被忽略的内容将被删除

我怎样才能阻止它?有没有更好的方法来保持一个单独的分支,以便在部署中使用一些不同的文件?

您可以仅为
主分支设置一个“excludefile”指令(以便忽略
资产/vendor/*
),而不忽略
部署
分支中的目录

见“


如果主分支中需要这些文件,为什么不希望它们出现在主分支中?我以前已经尝试过了。可以肯定的是,我重复了你完全相同的代码,但也不起作用。git版本1.8.2.3excludesfile=+info/exclude\u from\u master在分支上甚至在核心上都不起作用。但如果我将assets/vendor/添加到info/exclude,它会起作用,但适用于所有分支机构。@user2529613好的,我认为值得一提。我稍后会测试它。
cd .git/
$ touch info/exclude_from_master
$ echo "assets/vendor/" > info/exclude_from_master

git config core.excludesfile +info/exclude
git config branch.master.excludesfile +info/exclude_from_master