2026년 5월 11일 월요일

윈도우에서 리포지토리에 셸 스크립트 파일 추가할 때...?

프로젝트 리포지토리 루트에 Tomcat이나 Jetty 등을 실행하기 위한 

배치 파일이나 셸 스크립트 파일을 추가할 때,

 

리눅스 환경이라면 그냥 chmod u+x [셸 스크립트 파일] 명령만 한 번 실행해주면 되는데...

윈도우 환경에서 리눅스용 셸 스크립트를 작성했을 경우...

 

이 파일을 실행 가능하도록 설정하려면...

 

그동안은... 일단 윈도우 환경에서 커밋 + push 하고,

또다시 WSL 환경에서 그 변경 사항을 pull 받아서...

chmod 명령으로 실행 가능하게 바꾼 뒤 다시 커밋 + push를 해왔다... 😅

뭔가 좀 불합리하다는 느낌이 들었는데... 😅

 

윈도우에서도 쉽게 처리할 수 있는 방법이 있었다. 😊

그냥... Git 명령으로 이 파일을 실행 가능하도록 설정할 수 있었음. 👍

 


해결

Git에는 파일을 실행 가능하도록 설정할 수 있는 명령이 있다.

git update-index --chmod=+x [셸 스크립트 파일]

단, update-index는 이미 git 인덱스(스테이징 영역)에 올라가 있는 파일에만 적용된다. 새로 만든 파일이라면 먼저 git add로 스테이징한 뒤 실행해야 한다.

 

예를 들어 start.sh 파일을 실행 가능하도록 설정하려면:

git add start.sh
git update-index --chmod=+x start.sh

이렇게 하면 WSL을 따로 켜서 chmod 한 뒤 다시 커밋할 필요 없이, 윈도우 환경에서 바로 Git에서 실행 가능하도록 설정하고 커밋할 수 있다.

 

제대로 반영됐는지 확인하려면:

git ls-files --stage [셸 스크립트 파일]
C:\git\web-study>git ls-files --stage build-test.bat
100644 ........................................ 0 build-test.bat

C:\git\web-study>git ls-files --stage build-test.sh
100755 ........................................ 0 build-test.sh

C:\git\web-study>

결과에서 맨 앞 숫자가 100755이면 실행 가능하도록 설정된 것이고, 100644이면 그렇지 않은 것이다.

 

이제 윈도우에서도 셸 스크립트를 실행 가능하도록 설정하고,

바로 커밋 → push까지 한 번에 끝낼 수 있다. 👍



댓글 없음:

댓글 쓰기