git忽略配置文件

时间:2012-03-08 21:07:04

标签: git

我不知道为什么这对我来说似乎不太清楚。

我有2个repos,repo1和repo2。每个回购都是分支:staging masterlive

我认为我的一部分问题是我在开始使用git之后试图让.gitignore工作(例如,在gitignore正确填充之前,repos是init'd)。

我已经尝试了所有精彩的git-update-index --assume-unchanged file和我能找到的整齐git rm -r --cached .,但我仍然不理解,因为它仍然不起作用。

我想在pull和push上忽略一些特定的配置文件和缓存文件夹。

1

如果我正在使用repo1>暂存并且我推送到repo2> staging,哪个.gitignore优先?或者它们都被应用了吗?

2

在几次尝试中,我似乎已经在推送时忽略了配置文件,但是不是仅仅发送对这些文件的更改,它将它们完全从分支中删除。混乱。

3

如果为了让.gitignore正常工作而重新开始(这是一个选项)会更聪明,那么这将是一种聪明的方法,以便不会丢失所有提交(它们不需要可访问)到新的回购,只为FUBAR清酒可以。)

THX


澄清:

我现有的存储库中有一些文件,我不再希望在push或pull上传输。

.gitignore要么不是忽略,要么是通过删除忽略 - 这是行不通的,因为当我推送时,我需要那些配置文件在另一端,而不是通过推送删除。

我以为我很聪明并开始使用git。它非常冗长,因此对newp感到困惑。

我想:

我可以在生产(prod)上有一个master和staging,在dev(dev)上有一个master和staging;

  • 我会开发dev> staging分支,批准渐变和其他 更改,然后推送到prod> staging;

  • 关于prod,git checkout staging和view以确保它有效;

  • 一切正常,合并prod> staging prod> master,并checkout prod> master for the live site。

  • 然后我将prod> master拉入dev> master,将dev> master与dev> staging合并(或者不是,如果它们是相同的),并在dev> staging上重新开始循环。

他们使用不同的数据库,以免在开发过程中污染产品,将它们分开是很重要的。

1 个答案:

答案 0 :(得分:5)

.git / info / exclude如果您希望基于存储库的排除模式,您可以将它们放在名为.git / info / exclude或core.excludesfile

的特定存储库中的文件中。

.gitignore用于添加您不想跟踪的文件。如果文件已被跟踪,并且您要添加到.gitignore。运行git rm --cached filename