본문 바로가기

IT/Git

SourceTree file status(변경리스트)에 특정파일 안보이게 하는 방법

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한 파일은 환경설정 파일이기 때문에 충돌이 나면 한번 더 눈여겨 보게 됩니다. 

이럴때 다른 개발자가 잘못 올린 경우 빠르게 잡아낼 수 있습니다! 

내가 이렇게 잡아낸적이 있죠. 

잡았다 요놈