0

我的兄弟和我正在合作开发来自两台不同计算机的应用程序——一台 mac 和一台 pc。我这辈子都无法让 Postgres 在他的电脑上工作,经过一大堆小时后,我决定让他的电脑运行 sqlite3 进行开发(这很容易),并且基本上已经完成了所有的生产事情发生在我的 Mac 上,同时仍然允许他从他的电脑上进行功能更改。并将它们合并到 github。

问题是,这涉及到有两个不同的 database.yml 文件、两个不同的 db/schema.rb 文件(我认为)和不同的 gemfile,一个带有 sqlite,另一个带有 pg。

我的想法只是在他的计算机上完成所有这些并将这些文件添加到 gitignore 文件中。但是,如果不忽略这一点,那么当我拉回我的 mac 时,我不会将他不正确的配置合并到我的机器上吗?

无论如何,这就是我考虑将 .gitignore 添加到 .gitignore 的原因。这行得通吗?它会创造宇宙弯曲的悖论吗?有没有更好的方法来做到这一点,我不知道?

4

2 回答 2

1

这两种模式真的不同吗?他们通常不是。

如果不是,那么只需忽略config/database.yml并创建contig/database_sqlite_example.ymlcontig/database_ppostgresql_example.yml。这样,当有人克隆 repo 时,他可以通过简单地将示例文件复制到database.yml来使用 SQLite 或 PostgreSQL (这将被忽略)

于 2012-10-14T09:12:16.793 回答
0

不,不要忽略 .gitignore

我一直很喜欢为此创建本地分支机构的想法。我实际上让当地的分支机构有点疯狂......但这是一个不同的问题。

  • 如果您想拥有一个私人的小型工作泡泡,那么请仅将您的分支机构保留在本地。您可以控制合并到 master 中的内容(或任何您的开发分支),并且您可以将本地分支中的所有内容提交到 git 以查看历史记录。

  • 如果你想分享你正在做的事情,那么只需分享你的分支。但是通过这种方式,您可以在共享本地分支的同时保持环境设置隔离,以便协作可见。

有很多关于 Git 分支和共享的好文档,所以我会把它留给你,而不是用肯定会被破坏的链接来混淆帖子。

我不确定我们中的任何人“真的想”直接在大师中工作,尤其是在像你这样的协作工作中。

于 2012-12-06T15:55:06.337 回答