How to ignore files which are in repository?

后端 未结 4 1195
隐瞒了意图╮
隐瞒了意图╮ 2020-12-12 11:04

I have a file (config.php), that is already commited to Git repository, but I want to ignore locally, i.e. I want that file to remain in repository, but force Git to ignore

相关标签:
4条回答
  • 2020-12-12 11:50

    If the file is already in the repository, and hence the Index/Staging area, then an update to .gitignore won't change that situation - It would keep beinging committed.

    To remove the file from the Index/Staging area use git rm <file>.

    0 讨论(0)
  • 2020-12-12 12:00

    Once a file is listed in the .gitignore you cannot change it.

    So you could remove the file from the list in one commit, commit changes the next, then re-add the file to the ignore list in a 3rd commit afterwards.

    What I usually do is split the file into two, one that is allowed and I can change, which includes the second file if it exists, then devs can make config changes in the ignored file optionally.

    0 讨论(0)
  • 2020-12-12 12:01

    If the file is still displayed in the status, even though it is in the .gitignore, make sure it isn't already tracked.

    git rm --cached config.php
    

    If you just want to ignore it locally, you could also make it ignored by the git status:

    git update-index --assume-unchanged config.php
    

    As commented, do note that using --assume-unchanged might cause unwanted data loss as git stash resets the "ignored" files to the state in upstream, undoing local changes, without a warning or saving.

    0 讨论(0)
  • 2020-12-12 12:10

    Ignore checked in file:

    git update-index --assume-unchanged file
    

    To revert

    git update-index --no-assume-unchanged file
    

    Revert All

    git update-index --really-refresh 
    
    0 讨论(0)
提交回复
热议问题