GIT: How to keep ignored files when switching branches?

放肆的年华 提交于 2019-12-30 04:39:05

问题


I have an App.Local.config file which each developer has their own settings in. I do not want this file checked versioned in the GIT repo as every time it would be overwritten by another developers changes.

So I deleted the file from the repo and added it to the ignore file. But now when developers switch branches, App.Local.config is deleted from their local filesystem.

Ultimately what i would like is:

  1. new dev clones repo, gets a starting version of App.Local.config
  2. dev makes changes to App.Local.config. Git will ignore changes and not stage/checkin
  3. dev switches branches, changes to App.Local.config will not be lost and file is not deleted.

How can I do that?

Thanks.


回答1:


What probably happened is that you removed the file from your workspace but not from the index. If you did that git thinks that removing this file is a change and it will remove it from then on.

The way to go is to remove the file you don't want to track anymore from the index with

git rm --cached App.Local.config

and then add that file to the .gitignore Doing that you will have no more problems with the file




回答2:


Seems like this file was in index once. So its deletion is a change. You can add it to .gitignore or .git/info/exclude and then just recreate it on each developers machine.




回答3:


You should use git rm --cached App.Local.config not only in you working branch but also in the branch you want to switch to, or you will lose your App.Local.config when you switch back to the branch you worked if you only use git rm --cached App.Local.config in that branch.



来源:https://stackoverflow.com/questions/15552959/git-how-to-keep-ignored-files-when-switching-branches

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!