Git ignore deleted files

浪子不回头ぞ 提交于 2019-11-30 12:53:00

问题


I have a website project that has more than 50,000 unimportant files (to development) in some directories.

/website.com/files/1.txt
/website.com/files/2.txt
/website.com/files/3.txt
/website.com/files/etc.txt

The stuff in /files is already in the repo. I want to delete all the files in /files on my local copy but I want git to ignore it so it doesn't delete them when I do a pull on the web server.

Any ideas?


回答1:


Ignoring a whole directory didn't work. I had to do this:

for i in `git status | grep deleted | awk '{print $3}'`; do git update-index --assume-unchanged $i; done



回答2:


The code below works on deleted as well as modified files to ignore it when you do a git status.

 git update-index --assume-unchanged dir-im-removing/

or a specific file

git update-index --assume-unchanged config/database.yml

Ignore modified (but not committed) files in git?

Beware: The suggestion above for deleted files when you do a "git commit -am " includes the deleted file!

A solution that would work for me is to instead of deleting the file, just make it's content blank. This is what I used to mute a .htaccess file.




回答3:


Creating a sub-repo is one solution, but you should make that sub-repo a submodule.

That way:

  • you keep a link between your normal content and that 'files' content
  • if the 'files' content evolves one day, you can register its evolution in the main repo
  • you can checkout your main repo without " git submodule update " (that is without filling the 'files' content
  • on deployment, a git submodule update after the git submodule init will be enough to get back the right version of the 'files' content.



回答4:


Ok Ive found a solution. Simply create a new repo in the sub directories and the parent repo will ignore them.



来源:https://stackoverflow.com/questions/2718372/git-ignore-deleted-files

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