Source tree 의 file status (변경리스트) 에 안보이게 하는 명령어
commit 할때 포함되면 안되는 파일 제외시켜주는 명령어
로컬 개발환경에 맞춰놓은 소스는 push되면 안되기 때문에
이 명령어로 설정파일들을 제외시켜 놓는다.
! 주의 ! Unstaged files 상태에서만 가능합니다.
/** file status 에서 제외하기 (파일명까지 써줘야한다) **/
git update-index --skip-worktree src/app/app.js
/** file status 에 포함시키기 **/
git update-index --no-skip-worktree src/app/app.js
/** skip worktree 목록 확인하기 **/
git ls-files -v . | grep ^S
명령어를 실행하고 sourcetree 에 안보이면 fetch 한번 해주면됩니다.
Unstaged files 에 있는 파일 두개를 File Status 창에서 안보이도록 하려고 합니다.
git update-index --skip-worktree [파일위치/파일명]
실행결과 source tree 에서 app.js 가 안보이게 됩니다.
file status 에 바로 안보이면 source tree 창에 포커스를 주거나, fetch한번 해보시기바랍니다.
git update-index --no-skip-worktree [파일위치/파일명]
실행결과 app.js 가 다시 활성화됩니다.
장점 : 안전한 commit !
commit 할때 skip 설정한 파일들은 포함되지 않기 때문에 딸려갈 일이 없습니다.
단점 : 충돌발생 시 살짝 번거로움
pull 받을때, 서버의 소스 중 내가 설정한 파일들이 변경되었다면, 충돌이 발생할것이고,
그에따라 skip 해제를 해주고 충돌 해결을 해야합니다.
그런데, 이 단점이 도움이 될때도 있었습니다.
보통 skip한 파일은 환경설정 파일이기 때문에 충돌이 나면 한번 더 눈여겨 보게 됩니다.
이럴때 다른 개발자가 잘못 올린 경우 빠르게 잡아낼 수 있습니다!
내가 이렇게 잡아낸적이 있죠.