Git只将某些文件推送到生产分支

时间:2017-01-30 16:12:47

标签: git gitlab

我对Git有些新意,所以我仍然坚持工作流程。基本上,我认为我将使用两个主分支机构。一个用于保存所有我的dev文件(Master),另一个用于保存服务器上生产所需的文件(Production)。所以结构看起来像这样。

DbContext

但是,并非所有文件都必须位于Production分支上。所以我有一些我想弄清楚的事情......第一个,我如何限制哪些文件被推送到生产分支?

Me - Commits - Master Branch - Production Branch

因此,例如,生产中不需要带*的项目。我如何排除它们?而且,我是否想要拉/克隆FROM master到生产,或者推送TO生产?

任何工作流程提示都会很棒!谢谢!

3 个答案:

答案 0 :(得分:0)

签出分支时,该文件夹包含此分支的文件,仅包含它们。因此,只需签出您想要处理的分支,创建/编辑文件,添加它们,提交它们,它们就是这个分支的一部分(而不是另一个分支)。

然后你可以结帐另一个分支。文件夹的内容发生变化,这些其他文件“消失”,因为它们不属于此分支。创建/编辑其他文件,添加它们,提交它们,它们将成为该分支的一部分(而不是另一个)。

合并分支时,您可以选择要使用的文件。在这种情况下,只需选择您想要保留在主分支中的那些。

答案 1 :(得分:0)

您可以添加.gitignore文件中的所有条目,如果您没有此文件,请转到您的git repo目录并运行此touch .gitignore

在此文件中添加要忽略的条目,此文件中的条目示例为

# compiled output
    /dist
    /tmp

    # dependencies
    /node_modules

    # IDEs and editors
    /.idea
    .project
    .classpath
    .c9/
    *.launch
    .settings/

提交时将忽略所有这些文件和目录

答案 2 :(得分:0)

您可以删除相应的文件(仅在已添加的情况下)。 如果您不需要的文件已暂存,则可以执行以下命令:

git rm --cached test.py Install.md

取消他们,然后:

git add master.py presets.py other_scripts
git commit -m "Only needed files."
git push productionBranch

如果您认为永远不需要将这些文件推送到任何分支,则可以将其名称添加到.gitignore

presets.py
other_scripts