忽略不在目录中工作

我有以下. gitignore 文件

# file named .gitignore


system/application/config/database.php
system/application/config/config.php
system/logs
modules/recaptcha/config/*

但是,当我在 config 和 appcha.php 中添加任何更改时,git status 会发出如下警告。 当我将任何更改添加到 datase.php 时,它不显示状态

shin@shin-Latitude-E5420:/var/www/myapp$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   modules/recaptcha/config/recaptcha.php
#   modified:   system/application/config/config.php
#
no changes added to commit (use "git add" and/or "git commit -a")

我该怎么补救?

先谢谢你。

我在 Ubuntu 11.04上使用 git 版本1.7.5.1

73895 次浏览

I'm guessing yout .gitignore is not in the root of your working tree.

If you put a .gitignore in the same directory as system/application/config/config.php you can just use

echo config.php >> system/application/config/.gitignore

The paths are relative to the current directory (or: .gitignore is a per-directory exclude/include file).

See man git-ignore

If your file is already in git before you add the directory to .gitignore git will keep tracking it. If you don't want it, do a "git rm" to remove it first.

The files are already stored in your local commit tree. You'll need to first remove them from the repository. This can be done via:

git rm --cached system/application/config/config.php modules/recaptcha/config/recaptcha.php

After that you'll need to make one more commit and you're good to go.

Do the following to trigger the gitignore

Step 1: Commit all your pending changes in the repo which you want to fix and push that.

Step 2: Now you need to remove everything from the git index in order to refresh your git repository. This is safe. Use this command:

git rm -r --cached .

Step 3: Now you need to add everything back into the repo, which can be done using this command:

git add .

Step 4: Finally you need to commit these changes, using this command:

git commit -m "Gitignore issue fixed"