Git 사용 방법 요약
03 Aug 2017 | git다양한 형상 관리 툴이 나왔지만, 요즘은 Git을 많이 사용하고 있는 것 같습니다.
Git은 크게 master 저장소를 가지는 서버와 master 저장소의 완벽한 사본을 가지는 클라이언트 저장소로 구성되어 있습니다.
따라서 로컬 저장소 사용 방법과 원격 저장소 사용 방법을 나누어서 설명하도록 하겠습니다.
로컬 저장소 사용을 위한 명령어
로컬 저장소에서는 다음과 같은 명령어를 사용할 수 있습니다.
명령어 | 설명 |
---|---|
git init | 현재 위치에 git 저장소를 생성 |
git add 파일이름 | git에 파일을 등록 |
git commit | git 저장소에 변경 이력 제출 |
git status | git 저장소의 상태 확인 |
만약 큰 수정을 위해 별도로 브랜치(branch)를 생성해서 작업을해야 한다면 다음 명령어를 이용할 수 있습니다.
명령어 | 설명 |
---|---|
git branch 이름 | 새로운 브랜치를 생성 |
git checkout 이름 | 해당 브랜치로 변경 |
git merge 이름 | 현재 브랜치에 ‘이름’의 브랜치 내용을 정합 |
브랜치를 활용한 작업 흐름
원격 저장소 사용을 위한 명령어
명령어 | 설명 |
---|---|
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 fetch
와 git pull
두 가지가 있습니다.
pull
의 경우는 원격 저장소의 내용을 가져오면서 로컬 저장소에 자동으로 정합을 해줍니다. 다만, 이 경우는 어떤 내용이 변경되었고 정합되었는지 확인하기가 어렵습니다. 따라서 원격 저장소에서 무조건 pull
로 데이터를 가져오는 것은 추천하지 않는 방법입니다.
fetch
의 경우는 원격 저장소의 commit을 가져와서 로컬 저장소에서 이를 확인한다음 수동으로 정합할 수 있습니다.
경우에 따라 fetch
와 pull
을 적당히 혼용해서 사용하면 될 것 같습니다.