[英]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.