忽略已经跟踪过的文件? (使用Tower for Mac与git存储库一起工作)

时间:2011-08-09 16:33:30

标签: git gitignore unfuddle git-tower

我是Git的新手,所以请耐心等待我!

我正在Unfuddle上使用远程存储库的克隆。克隆是ExpressionEngine的安装,因此我需要对某些文件进行更改以使CMS在我的本地计算机上运行,​​我在MAMP下运行它。但是,我不希望在完成后将这些修改过的文件重新推送到远程存储库,我也不希望它们坐在Tower中,等待提交更改。

我已经尝试忽略这些文件,但这会导致问题......忽略被推送到存储库,我也不想要!其他人正在使用此存储库,并且不应在其系统上忽略这些文件。我只是希望Tower按原样离开远程存储库,但假装我对本地文件所做的更改不存在。

我要求不可能吗?

-UPDATE- 具体来说,我想与Tower合作,因此知道如何在该框架内执行git命令将是最有帮助的。

4 个答案:

答案 0 :(得分:3)

对跟踪的文件使用git update-index --assume-unchanged。这就像跟踪文件的“临时忽略”。这也只适用于您的克隆,而不适用于任何其他人的

http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html

此外,对于未跟踪文件,您不必使用.gitignore来忽略它们,这会使忽略传播到repo的任何克隆。您可以使用$GIT_DIR/info/exclude文件忽略未跟踪的文件,仅在您的仓库中。

答案 1 :(得分:2)

Tower中有一个不使用gitignore的排除选项

  1. 右键单击文件
  2. 单击忽略
  3. 取消选择“Untrack files”
  4. 选择“仅忽略本地”
  5. 按保存。
  6. 要查看所有排除的文件/文件夹:转到设置或文件 - >编辑排除的文件模式。

    来源:http://www.git-tower.com/files/applicationHelp/pgs/Browse_IgnoringFiles.html

答案 2 :(得分:0)

根据您的描述。我想您不希望您的文件污染您的远程存储库,但您仍然希望将文件推送到服务器上。

git中有一个概念,您可以在本地/远程存储库上创建分支。

在存储库中创建分支后,可以推送所需的任何代码/文件。其他开发人员不应该使用您的分支,他们将无法获取您的代码/文件。

答案 3 :(得分:0)

Git仅将忽略模式应用于未跟踪文件。您不能使用忽略模式来忽略已经由git跟踪的文件的更改。不过,请参阅https://gist.github.com/1423106了解人们解决问题的方法。这是针对本土git,塔可能会提供与yaz建议不同的东西。