是否可以制作远程特定的 .gitignores?
Is it possible to make remote-specific .gitignores?
我使用两个服务,GitHub 和 Heroku。我已经为每个在线存储库设置了遥控器。但是,我希望将一个文件推送到 Heroku,而不是推送到 GitHub。有没有一种简单的方法可以做到这一点,而不必每次我推送到不同的服务时都编辑 .gitignore?
Is there an easy way to do this without having to edit .gitignore every time I push to a different service?
这不是本机 Git 功能。
更好的选择是存储一个 .gitgignore.heroku
文件,并有一个钩子,它可以在接收到推送时或在 heroku 上部署时检测、复制和重命名 .gitgignore.heroku
到工作中树为 .gitgignore
.
换句话说,这是一个部署问题,而不是版本控制问题。
正如 VonC 所说,它本身不支持执行您要求的操作。
我认为最好的方法是拥有不同的分支。
例如,您将拥有 master
分支、github
分支和 heroku
分支。
两个分支之间的任何同义词都将位于 master
中,而特定于 github
或 heroku
的任何内容将位于它们各自的分支中。
不,这是不可能的。 .gitignore 文件或多或少告诉 git 哪些文件要包含到提交中。它对推送哪些文件没有影响。您只能推送完整的提交,因为提交是由包含的文件定义的。
我使用两个服务,GitHub 和 Heroku。我已经为每个在线存储库设置了遥控器。但是,我希望将一个文件推送到 Heroku,而不是推送到 GitHub。有没有一种简单的方法可以做到这一点,而不必每次我推送到不同的服务时都编辑 .gitignore?
Is there an easy way to do this without having to edit .gitignore every time I push to a different service?
这不是本机 Git 功能。
更好的选择是存储一个 .gitgignore.heroku
文件,并有一个钩子,它可以在接收到推送时或在 heroku 上部署时检测、复制和重命名 .gitgignore.heroku
到工作中树为 .gitgignore
.
换句话说,这是一个部署问题,而不是版本控制问题。
正如 VonC 所说,它本身不支持执行您要求的操作。
我认为最好的方法是拥有不同的分支。
例如,您将拥有 master
分支、github
分支和 heroku
分支。
两个分支之间的任何同义词都将位于 master
中,而特定于 github
或 heroku
的任何内容将位于它们各自的分支中。
不,这是不可能的。 .gitignore 文件或多或少告诉 git 哪些文件要包含到提交中。它对推送哪些文件没有影响。您只能推送完整的提交,因为提交是由包含的文件定义的。