Git 사용 방법 요약

|

다양한 형상 관리 툴이 나왔지만, 요즘은 Git을 많이 사용하고 있는 것 같습니다.

Git은 크게 master 저장소를 가지는 서버와 master 저장소의 완벽한 사본을 가지는 클라이언트 저장소로 구성되어 있습니다.

따라서 로컬 저장소 사용 방법과 원격 저장소 사용 방법을 나누어서 설명하도록 하겠습니다.


로컬 저장소 사용을 위한 명령어

로컬 저장소에서는 다음과 같은 명령어를 사용할 수 있습니다.

명령어 설명
git init 현재 위치에 git 저장소를 생성
git add 파일이름 git에 파일을 등록
git commit git 저장소에 변경 이력 제출
git status git 저장소의 상태 확인

만약 큰 수정을 위해 별도로 브랜치(branch)를 생성해서 작업을해야 한다면 다음 명령어를 이용할 수 있습니다.

명령어 설명
git branch 이름 새로운 브랜치를 생성
git checkout 이름 해당 브랜치로 변경
git merge 이름 현재 브랜치에 ‘이름’의 브랜치 내용을 정합

브랜치를 활용한 작업 흐름

image


원격 저장소 사용을 위한 명령어

명령어 설명
git clone url 원격 저장소(URL)의 내용을 로컬 저장소에 복사
git remote 원격 저장소와 로컬 저장소를 연결
git push 로컬 저장소의 내용을 원격 저장소에 업로드
git fetch 로컬 저장소와 원격 저장소의 변경 내용이 다를 때 이를 비교/대조. git merge 명령어와 함께 최신 데이터를 반영하거나 충돌 문제를 해결
git pull 로컬 저장소의 내용을 원격 저장소의 최신 내용으로 업데이트

예를 들면, git clone은 다음과 같은 형태로 사용 가능합니다.

git clone https://github.com/snowdeer/bitcoin

git push의 경우는 다음과 같이 사용할 수 있습니다.

git push [원격 저장소 별칭] [로컬 브랜치 이름]

원격 저장소에 로컬 저장소의 모든 브랜치를 업로드할 때는 아래와 같이 사용할 수 있습니다.

git push origin --all


fetch와 pull

원격 저장소의 내용을 로컬 저장소로 가져와서 정합하는 방법은 크게 git fetchgit pull 두 가지가 있습니다.

pull의 경우는 원격 저장소의 내용을 가져오면서 로컬 저장소에 자동으로 정합을 해줍니다. 다만, 이 경우는 어떤 내용이 변경되었고 정합되었는지 확인하기가 어렵습니다. 따라서 원격 저장소에서 무조건 pull로 데이터를 가져오는 것은 추천하지 않는 방법입니다.

fetch의 경우는 원격 저장소의 commit을 가져와서 로컬 저장소에서 이를 확인한다음 수동으로 정합할 수 있습니다.

경우에 따라 fetchpull을 적당히 혼용해서 사용하면 될 것 같습니다.