Git:如何在gitignore'd文件夹中添加文件和子文件夹

时间:2011-06-09 10:57:20

标签: git

假设我有一个文件夹

application/uploads

修改

application/uploads/{a}/{b}/{c}/{d}/{e}/{f}/{g}/abcdefghijklmnopqrstuvwxyz

{a},{b},{c},{d},{e},{f},{g} - 是哈希键,任何字母数字字符都是可能的

abcdefghijklmnopqrstuvwxyz - is a hashed filename

我不希望git既不在开发机器上也不在生产服务器上跟踪它,因此它被添加到.gitignore文件中。

假设现在我在生产服务器上创建了一个分支“备份”,我想在不同的时间存储项目的状态。

要做到这一点,我需要'添加'和'提交'项目的所有文件,包括那些在.gitignore下的文件

注意:改变.gitignore通常是一个坏主意,因为

  1. 从发展分支中提取更改时可能会出现问题

  2. 在一个负载很重且最近更改的项目中,检查其他分支是一个问题,因为在完成添加并提交之前的文件之后每秒都会添加新的未跟踪文件

  3. 等...

  4. 所以问题是:如何强制git'添加'.gitignore广告下的文件然后'提交'它们而不实际更改.gitignore?

2 个答案:

答案 0 :(得分:7)

来自git-add联机帮助页:

   -f, --force
       Allow adding otherwise ignored files.

答案 1 :(得分:1)

.gitignore不仅可以忽略而且还可以重新添加,这是感叹号:

!add-this-dir/file/whatever

如果你的shell类型 git help gitignore ,你会发现这个正确记录的here