git

Code/git

[Git] Remote에서 삭제된 Branch, Local에서도 제거하기

일반적으로, pull 또는 fetch 명령어를 통해 가져온 Remote branch 정보는 Remote에서 삭제 되더라도 계속해서 리스트에서 제거되지 않는다. 따라서 이를 제거하기 위해 일반적으로는 git fetch --prune 명령어를 통해 삭제된 branch를 리스트에서 제거하는 작업을 수행한다. 하지만 이와 같은 동작은 Remote branch의 정보만 업데이트하며, checkout된 local branch 목록에서는 지워지지 않는다. 이를 해결하기 위해선 아래와 같은 명령어를 실행하면 손쉽게 해결할 수 있다. git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0

Code/git

[Git] Sub directory를 새 저장소에 옮기고 sub module로 변경하기

코드를 관리하면서, 여러 프로젝트에서 동일한 코드를 사용하게 되는 경우가 종종 발생한다. 이러한 상황이 발생하게 될 경우 보통은 코드의 복사/붙여넣기를 통해 코드를 관리하게 된다. 이러한 복사/붙여넣기 방식은 코드 관리에 어려움을 겪게 될 수 있는데, 어떤 프로젝트에는 반영된 부분이 다른 프로젝트에는 반영이 되거나 누락되는 경우가 흔히 발생하게 된다. 이러한 부분은 git을 사용할 경우 공통된 부분의 코드에 대해 sub module 기능을 이용하여 분리하게 될 경우 편리하게 개선 할 수 있다. sub module이란 파일을 직접 갖는게 아니라 다른 코드 저장소(repository)에 있는 코드를 링크만 하는 방식이다. 이러한 특성을 이용하여 공통된 부분을 폴더로 분리하고 별도의 저장소로 분리한 뒤 해당 ..

후유증
'git' 태그의 글 목록