繁体   English   中英

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

[英]Git push only certain files to production branch

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

Me - Commits - Master Branch - Production Branch

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

.
├── master.py
├── presets.py
|   ├── preset1.py
|   └── preset2.py
├── other_scripts
|   ├── something.sh
|   └── somethingelse.sh
├── test.py *
├── Instal.md *

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

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

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

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

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

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

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

# compiled output
    /dist
    /tmp

    # dependencies
    /node_modules

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

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

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

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

暂无
暂无

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

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