소프트웨어 개발시 팀 단위 작업시 특히 필요한 버전관리 혹은 소스 코드 관리(source code management, SCM) 도구로 각광받고 있는 Git에 대한 간단한 용어정리이다.


▶ HEAD

작업 중인 위치(branch)를 가리키는 가상의 커서를 의미


▶ clone

웹상에 있는 원격 repository에 있는 내용을 local의 내 PC에 그대로 복사본을 만드는 작업


▶ commit

local의 내 PC에서 수정, 변경한 내용을 원격의 repository에 push하기 전 단계인 staging 단계(index 단계)에 올리는 작업.

이 단계도 아직은 local PC에서 이뤄지는 작업이다. 따라서 인터넷이 연결되어 있지 않아도 작업이 수행된다.

이렇게 commit이 된 내용이라야 비로소 원격 repositiory로 push할때 변경된 내용이 원격 repository에도 적용이 된다.


▶ push

local PC에서 수정 후 commit한 내용을 원격의 repository에 전송하는 작업


▶ pull

원격의 repository에 다른 사람이 수정/추가한 내용을 내 local PC에 수정 내용을 적용하는 작업

pull 을 실행하면, 원격 저장소에서 최신 변경 이력을 다운로드하여 내 로컬 저장소에 그 내용을 적용한다.

이때 branch 병합과 같은 병합이 발생한다.


▶ checkout

현재 선택된 branch가 아닌 다른 branch에서 작업하고자 할때, branch를 변경하고자 할때 사용


▶ stash

파일의 변경 내용을 일시적으로 기록해두는 영역이다. stash를 사용하여 작업 트리와 인덱스 내에서 아직 commit하지 않은 변경을 일시적으로 저장해 둘수 있다.


▶ fetch

 pull을 실행하면 원격 저장소의 내용을 가져와 자동으로 병합작업을 실행하지만 단순히 원격 저장소의 내용을 확인만 하고 로컬 데이터와 병합은 하고 싶지 않을 경우 fetch 명령어를 사용할수 있다.



+ Recent posts