What are the differences between .gitignore and .g

2019-01-03 11:15发布

What are the differences between .gitignore and .gitkeep? Are they the same thing with a different name, or do they both serve a different function? I don't seem to be able to find much documentation on .gitkeep.

标签: git gitignore
3条回答
不美不萌又怎样
2楼-- · 2019-01-03 11:41

.gitkeep isn’t documented, because it’s not a feature of Git.

Git cannot add a completely empty directory. People who want to track empty directories in Git have created the convention of putting files called .gitkeep in these directories. The file could be called anything; Git assigns no special significance to this name.

There is a competing convention of adding a .gitignore file to the empty directories to get them tracked, but some people see this as confusing since the goal is to keep the empty directories, not ignore them; .gitignore is also used to list files that should be ignored by Git when looking for untracked files.

查看更多
欢心
3楼-- · 2019-01-03 11:50

.gitkeep is just a placeholder. A dummy file, so git will not forget about the directory, since git tracks only files.


If you want an empty dir and make sure it stays 'clean' for git, create a .gitignore containing the following lines within:

# .gitignore sample 
###################

# ignore all files in this dir...
*

# ... except for this one.
!.gitignore

If you desire to have only one type of files being visible to git, here is an example how to filter everything out, except .gitignore and all .txt files:

# .gitignore to keep just .txt files
###################################

# filter everything...
*

# ... except the .gitignore...
!.gitignore

# ... and all text files.
!*.txt

('#' indicates comments.)

查看更多
smile是对你的礼貌
4楼-- · 2019-01-03 12:05
.gitignore

is a text file comprising a list of files in your directory that git will ignore or not add/update in the repository.

.gitkeep

Since git removes or doesn't add empty directories to a repo .gitkeep is sort of a hack (I don't think it's officially named as a part of git) to keep empty directories in the repo.

just do a touch /path/to/emptydirectory/.gitkeep to add the file and git will now be able to maintain this directory in the repository.

查看更多
登录 后发表回答