gitignore와 .gitkeep의 차이점은 무엇입니까? 가진 동일한 것입니까, 아니면 둘

의 차이점은 무엇입니까 .gitignore와는 .gitkeep? 그것들은 다른 이름을 가진 동일한 것입니까, 아니면 둘 다 다른 기능을합니까?

에 대한 많은 문서를 찾을 수없는 것 같습니다 .gitkeep.



답변

.gitkeep Git의 기능이 아니기 때문에 문서화되어 있지 않습니다.

힘내 완전히 빈 디렉토리를 추가 할 수 없습니다 . Git에서 빈 디렉토리를 추적하려는 사람들은이 디렉토리에서 호출 .gitkeep되는 파일을 넣는 규칙을 만들었습니다 . 파일은 무엇이든 호출 될 수 있습니다. Git은이 이름에 특별한 의미를 부여하지 않습니다.

.gitignore빈 디렉토리에 파일을 추가하여 파일을 추적 하는 경쟁 규칙이 있지만 일부 사람들은 빈 디렉토리를 무시하지 않고 유지하는 것이 목표이기 때문에 혼동되는 것으로 간주합니다. .gitignore추적되지 않은 파일을 찾을 때 Git에서 무시해야하는 파일을 나열하는 데에도 사용됩니다.


답변

.gitkeep자리 표시 자일뿐입니다. 더미 파일이므로 Git은 디렉토리 만 잊어 버리지 않습니다. Git은 파일 만 추적하기 때문입니다.


빈 디렉토리를 원하고 Git에 대해 ‘깨끗한’상태를 유지 .gitignore하려면 다음 행을 포함하여 다음을 포함하십시오.

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

# Ignore all files in this dir...
*

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

Git에 한 가지 유형의 파일 만 표시되도록하려면 .gitignore 및 모든 .txt파일을 제외한 모든 파일 을 필터링하는 방법에 대한 예제가 있습니다.

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

# Filter everything...
*

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

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

( ‘#’는 주석을 나타냅니다.)


답변

.gitignore

git은 저장소에서 파일을 추가하거나 업데이트하지 않는 디렉토리의 파일 목록을 구성하는 텍스트 파일입니다.

.gitkeep

Git은 저장소에 빈 디렉토리를 제거하거나 추가하지 않기 때문에 .gitkeep은 저장소에 빈 디렉토리를 유지하는 일종의 해킹입니다 (공식적으로 Git의 일부로 명명되지 않았다고 생각합니다).

touch /path/to/emptydirectory/.gitkeep파일을 추가하기 만하면 Git은 이제이 디렉토리를 리포지토리에서 유지할 수 있습니다.


답변