【问题标题】:Track files in local Git repo but ignore in remote跟踪本地 Git 存储库中的文件,但在远程忽略
【发布时间】:2011-05-27 04:24:42
【问题描述】:

是否可以在本地仓库而不是远程跟踪文件夹和文件,这样当您推送更改时,它们不会被远程推送?原因是我正在使用 Beanstalk 来部署我在本地工作的网站。我的本地存储库包含艺术品和其他内容的文件夹,我希望能够在本地跟踪更改,但不希望最终出现在生产服务器上。

【问题讨论】:

  • 只需提交,不要推送。你的 git 服务器在哪里?你的生产服务器不应该是你的 git repo。当一切稳定时,您应该定期拉动。
  • 我打算使用 Beanstalk 部署到我的服务器。我对 Git 还很陌生,还没有使用 Beanstalk 来做任何这些。这将是我的第一次尝试。

标签: git


【解决方案1】:

为您的图形创建一个单独的 git 存储库。将其作为子目录放在主项目中。将子文件夹添加到主存储库中的 .gitignore 中。这样您就不必弄乱子模块,但您仍然可以对本地文件进行版本控制。

mainrepo
|
|-- .git
|-- .gitignore (contains "graphicsrepo")
|-- graphicsrepo
|   |
|   |-- .git
|   \-- somefile.jpg
|
\-- html

【讨论】:

  • 是的,这实际上是我今天早上在考虑了这个想法后所想的。但我对 Git 还很陌生,所以我想先咨询一下对它有更多了解的窥视者。
【解决方案2】:

除了与远程存储库同步的分支之外,您还应该创建一个本地分支。可以通过....建立本地分支。

git branch mybranch

然后你可以使用结帐功能在分支之间穿梭

git checkout mybranch //now in local branch

git checkout repobranch //now in repository branch

警告 确保推送时,只推送 repobranch 中的更改。您不希望在本地分支中所做的更改开始出现在远程存储库中

【讨论】:

    【解决方案3】:

    将艺术品文件夹制作为 git 子模块,并且可以单独托管它们,甚至在您的盒子本地。子模块,因此如果您只是将它们作为您的 repo 中不相关的 git repos 的目录(并将它们添加到 .gitignore ),您可能会在不知情的情况下丢失文件夹。子模块允许您跟踪它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-20
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 2012-03-22
      相关资源
      最近更新 更多