使用git-flow从发布合并中排除文件/文件夹

时间:2014-05-21 17:49:51

标签: git workflow git-flow

当我使用git-flow完成发布时,我想知道是否有任何方法可以将文件/文件夹从开发分支排除到主分支合并?

示例:我在develop分支上有index.html和Gruntfile.js,我只希望index.html在主分支上合并。

我问这个是因为我的开发分支上有一个dev文件夹,其中包含主分支不需要的文件(如gruntfile.js,scss文件等),所以我不想包含它。< / p>

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

如果要在将代码存储库声明为新版本之前对代码存储库进行一些更改,则应使用发布分支,即:

git checkout -b release-1.4
git rm gruntfile.js # this could be an automated script
git commit -m "removed files before release"
git checkout master
git merge --no-ff release-1.4

有关详细信息,请参阅git flow文章

http://nvie.com/posts/a-successful-git-branching-model/

请记住,这可能不是您真正想要的(请参阅提问评论)。根据git flow范例,在发布分支中进行的编辑不仅应合并到master中,还应合并到develop中。这确保了下一个版本分支将成为先前版本分支的直接后代,因此将干净地合并到master中。在您的情况下,您无法执行此操作,因为这些文件也会从develop中消失。

答案 1 :(得分:0)

当然!只需在本地git存储库的基础上创建一个.gitignore文件并添加所有文件(相对于您希望git忽略的.gitignore位置。忽略一个名为xxx.yyy的文件aaa目录,您可以将aaa/xxx.yyy添加到.gitignore

这个答案不使用git-flow,但是确实需要使用git-flow。

可以找到进一步的阅读here.

答案 2 :(得分:0)

该方案有一种解决方法,但它要求您编辑.git /目录中的文件:https://nbit001.wordpress.com/2013/11/20/git-ignore-files-for-certain-a-branc/ - 尽管不是最佳实践解决方案。我认为pqnet是对的,你所描述的更像是Travis,TeamCity,Jenkins等CI工具的工作......