- [Git] 깃허브 저장소에 빈 폴더 올리기 nothing to commit, working tree clean 해결2024년 07월 01일
- 주사위 clice
- 작성자
- 2024.07.01.:14
반응형문제상황
얼마 전 프로젝트 기본 구조를 세팅할 일이 있었다
우클릭-> 폴더 이름 작성 -> 엔터 하는 과정을 반복하며
열심히 폴더를 만들었다그런데, 폴더 구조를 세팅 다 해서 commit 을 하니 noting to commit 에러가 떴다
On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean
난 분명 폴더를 열심히 만들었는데? 변경 사항이 있는데?
왜 비교할게 없다고 뜨는 걸까
알고보니 git에서는 기본적으로 비어있는 폴더를 추적하지 않기 때문에,
폴더만 만든 상태에서는 아무것도 커밋 할 게 없다고 나오는 것이었다
해결방법
해결방법은, 비어있는 폴더에 .gitkeep 이라는 파일을 추가하는 것이다
gitkeep 파일은 의미가 없으며, 단지 폴더가 비어있지 않음을 표시하기 위한 용도이다
다음과 같이 폴더에 .gitkeep 파일을 추가하면 된다
그런데 나는 20개쯤 되는 폴더를 만들었다.
.gitkeep 폴더를 하나 하나 추가하기에는 너무 귀찮았다
이때 쉘 스크립트를 사용하여 자동화하면 된다.
자동으로 비어있는 폴더만 찾아서 .gitkeep 파일을 만들게 해보자
일단 루트 디렉토리에 들어간 다음 코드를 실행한다
맥의 경우 터미널에 입력한다
# 맥 Mac find . -type d -empty -exec touch {}/.gitkeep \;
윈도우의 경우 파워쉘(powershell)에 입력한다.
관리자 권한으로 열지 않고 그냥 열어도 된다
마찬가지로 루트 디렉토리에 들어간 다음 코드를 실행한다# 윈도우 Window Get-ChildItem -Directory -Recurse | Where-Object { @(Get-ChildItem -Path $_.FullName -Force -Recurse).Count -eq 0 } | ForEach-Object { New-Item -ItemType File -Path "$($_.FullName)\.gitkeep" }
이 코드들은 현재 디렉토리와 자식 디렉토리에서 비어있는 폴더를 찾고,
해당 폴더들에 .gitkeep 파일을 한번에 생성해준다
그리고 이제 커밋을 해보자.
.gitkeep 파일 덕분에 비어있지 않으므로
git에서 추적이 되어 커밋이 되는걸 확인할 수 있다.
끝!
ⓒ clice lee clicelee
주사위의 개발일지
클라이스의 개발일지 입니다반응형'IT 사용 팁 > Git GitHub' 카테고리의 다른 글
[빗버킷] 로컬에서 작업하던 코드, 빗버킷 레포에 연결하기 - 토큰 password 발급하기 (2) 2024.10.08 [Git] 팀원과 서로 다른 시간대에 파일을 작성했을때, 발생하는 git pull오류 merge로 해결하기 You have divergent branches and need to specify how to reconcile them (4) 2024.07.15 [Git Github] 실수로 잘못된 커밋 올렸을때, 이전 commit 으로 되돌리기 (29) 2024.07.14 [Github] 레포지토리 비공개/공개 전환하기 (0) 2024.05.19 [Git] 실무에서 사용하는 필수 명령어 7가지, 이것만 알자! (1) 2024.02.14 다음글이전글이전 글이 없습니다.댓글