Git:如何将dist目录推送到同一存储库的单独分支

时间:2018-09-30 03:58:28

标签: git deployment gulp gitlab git-branch

我在现有存储库中有一个项目,文件夹结构:

myproject (master)
+-- app/ (master)
+-- dist/ (in .gitignore, but i need it as other branch)
+-- node_modules (.gitignore)
+-- index.html (master)
+-- gulpfile.babel.js (master)
+-- package.json (master)

是否可以将dist推送到同一存储库的单独分支中?
为了澄清,我只需要dist分支中的deploy个文件,而将其他文件保留在master中。

1 个答案:

答案 0 :(得分:3)

  

是否可以将dist推送到同一存储库的单独分支中?

使用git submodule

  • 创建一个orphan branch'deploy'
  • 将您的dist文件夹内容复制到空仓库中,添加并提交并推送。
  • 将该分支添加为dist文件夹子模块。

也就是说:

git checkout --orphan deploy
# copy your folder content
git add .
git commit -m "deploybranch folder content"
git push -u origin deploy

然后

git checkout master
git submodule add -b deploy -- /remote/url/of/your/own/repo dist
git commit -m "Add deploy branch as submodule"
git push

在您的master分支中,您将通过deploy根文件夹子模块保留对dist的引用。

话虽如此,请记住,生成和部署的内容通常不是存储在 source 控制文件系统中,而是存储在{{3} }或Nexus:确保您没有在其中保存大量二进制文件。