Git集线器和远程 Git 带有生产和开发代码的 repo
Github and remote Git repo with production and development code
我有我的本地 Git 回购,我将其推拉到 Github 与我的团队作为中央回购。
然后我有一个远程暂存区,其中包含整个裸仓库和 post-receive 挂钩,用于将我的更改推送到网络。为此,我使用 'git push staging master' 将网站放到暂存区。
我的项目包含一个 src/
目录,我用它来存储我的 gulp 文件和 sass 文件。然后我使用 gulp 编译并生成我的 dist/
目录。
我显然不希望我的 dist/
东西在 Github 仓库中,因为这会导致疯狂的冲突并且不需要在那里,但是 我确实想要 它在我的远程网站 repo 中用于生产。我该怎么做?
我考虑过为每个遥控器设置单独的 .gitignore
文件,但这没有意义,因为它几乎违背了 Git 的要点,而且我也不认为在我用谷歌搜索了一下后,它甚至是一个选项。
虽然您的问题有点宽泛,但您可以从这里开始。
您想始终忽略 dist
目录并使服务器(暂存或生产)在检出最新版本后触发 npm install
。
此外,如果您正在使用它生成的 yarn or npm v5, commit the yarn.lock
or package-lock.json
文件。
然后,使用 npm 的 post-install
钩子让它触发你的 gulp build
。
您还可以使用 husky,一个自动安装在 .git
目录中的 npm 模块,让您根据 [=18] 中的命令定义和版本 git 挂钩=] package.json
.
的属性
"scripts": {
"postcheckout": "npm install", // <-- Git hook from Husky
"postinstall": "gulp build" // <-- default npm hook
}
我有我的本地 Git 回购,我将其推拉到 Github 与我的团队作为中央回购。
然后我有一个远程暂存区,其中包含整个裸仓库和 post-receive 挂钩,用于将我的更改推送到网络。为此,我使用 'git push staging master' 将网站放到暂存区。
我的项目包含一个 src/
目录,我用它来存储我的 gulp 文件和 sass 文件。然后我使用 gulp 编译并生成我的 dist/
目录。
我显然不希望我的 dist/
东西在 Github 仓库中,因为这会导致疯狂的冲突并且不需要在那里,但是 我确实想要 它在我的远程网站 repo 中用于生产。我该怎么做?
我考虑过为每个遥控器设置单独的 .gitignore
文件,但这没有意义,因为它几乎违背了 Git 的要点,而且我也不认为在我用谷歌搜索了一下后,它甚至是一个选项。
虽然您的问题有点宽泛,但您可以从这里开始。
您想始终忽略 dist
目录并使服务器(暂存或生产)在检出最新版本后触发 npm install
。
此外,如果您正在使用它生成的 yarn or npm v5, commit the yarn.lock
or package-lock.json
文件。
然后,使用 npm 的 post-install
钩子让它触发你的 gulp build
。
您还可以使用 husky,一个自动安装在 .git
目录中的 npm 模块,让您根据 [=18] 中的命令定义和版本 git 挂钩=] package.json
.
"scripts": {
"postcheckout": "npm install", // <-- Git hook from Husky
"postinstall": "gulp build" // <-- default npm hook
}