Git 명령어 총 정리 (3)
지난 글에 이어 Git 명령어들을 정리해보았다.
git remote
GitHub같은 원격 저장소를 이용할 때 이용할 수 있는 명령어이다. 원격 저장소를 추가, 확인, 삭제 할 수 있다.
# 원격 저장소 추가하기
$ git remote add [origin 또는 원격 저장소 이름] [저장소 URL]
# 프로젝트와 연결된 원격 저장소 목록 보기
$ git remote
# 저장소 URL까지 같이 보기
$ git remote -v
# 원격 저장소 연결 삭제하기
$ git remote remove [origin 또는 원격 저장소 이름]
git clone
git clone 명령어를 이용해 원격 저장소에 저장되어 있는 프로젝트의 파일들과 깃 관리 내역까지 모두 로컬에 받아올 수 있다.
# 저장소 복제하기
$ git clone [원격 저장소 주소]
git push
push 명령어는 내 로컬에 있는 커밋 내역 중에서 아직 원격 저장소에 없는 커밋을 업로드하는 것을 말한다.
# 로컬에서 원격 저장소로 푸시하기
$ git push
# 로컬 브랜치와 원격 저장소 브랜치 추적 관게(연동) 설정
$ git push -u [origin 또는 원격 저장소 명] [브랜치 명]
# 로컬의 작업 내역을 강제로 푸시하기
$ git push --force
-u 옵션을 사용하면 로컬 저장소의 브랜치와 원격 저장소의 브랜치 간의 추적 관계를 설정할 수 있다. 이렇게 추적 관계를 설정해두면 해당 브랜치에서 푸시와 풀 같은 동작을 할 때 원격 저장소 이름과 브랜치 이름을 입력할 필요없이 단순히 git push, git pull 명령어만을 이용해서 간단하게 사용할 수 있게 된다.
git pull
풀이란 원격 저장소의 커밋 내역을 로컬로 가져오는 작업이다. 풀한 커밋 내역들을 리베이스할지 머지할지 선택할 수 있다. (기본은 머지이지만 변경할 수 있다.)
# 원격 저장소에서 로컬로 풀
$ git pull
# 원격 저장소에 맞춰 리베이스
$ git pull --rebase
# 머지 방식으로 병합하여 풀
$ git pull --no-base
# 기본값을 리베이스로 변경
$ git config --global pull.rebase true
git fetch
git fetch 명령어는 원격 저장소의 최신 커밋과 변경사항을 로컬로 가져오는 명령어이다.
# 원격 저장소의 최신 변경사항 로컬로 가져오기
$ git fetch
위의 git pull 명령어가 fetch와 (merge or rebase)가 합쳐진 것이다.
git rm
git rm 명령어를 이용하면 파일을 삭제하면서 바로 커밋할 수 있다. 이 명령어를 사용하면 파일을 삭제하면서 동시에 삭제되었다는 변경사항을 스테이지 영역에 넘겨 바로 커밋할 수 있다.
# 파일을 삭제하고 바로 커밋
$ git rm [파일 명]
git mv
git mv 명령어를 이용하면 파일 이름을 변경할 수 있다. 스테이지 영역까지 올라가기 때문에 add 없이 바로 커밋이 가능하다.
# 파일 이름 변경하고 스테이징 하기
$ git mv [원래 파일 명] [변경할 파일 명]
git restore
git restore 명령어는 특정 파일을 되돌릴 때 사용할 수 있는 명령어이다. 옵션에 따라 다르게 동작하기 때문에 동작 방식을 잘 알아둬야 한다.
먼저 --staged 옵션을 사용하면 스테이징 영역에 올라가있는 변경사항이 있는 특정 파일을 스테이징 영역에서 작업 디렉터리로 되돌린다. 모든 파일들을 스테이징 영역에 올려둔 상태에서 커밋을 나누어서 하고 싶을 때 이 명령어를 사용할 수 있다.
반면 옵션 없이 그냥 사용하면 변경사항 전체가 모두 사라진다. --staged를 쓰면 변경사항은 유지한 채 단순히 스테이징 영역에서 내리는 것이지만, 그냥 사용하면 변경사항 전체가 사라지게된다.
# 파일을 작업 디렉터리로 되돌리기
$ git restore --staged [파일 명]
# 작업 디렉터리의 특정 파일 원래대로 복구하기
$ git restore [파일 명]
git help
깃 명령어들을 확인하고 싶을 때 git help 명령어를 이용해 도움말을 확인할 수 있다. 또한 특정 명령어에 대한 옵션을 확인하고 싶을때는 -h 또는 --help 옵션을 사용할 수 있다. CLI에서 간단히 확인할 수도 있고 웹사이트에서 확인할 수도 있다.
# 깃 명령어 확인
$ git help
# 깃 모든 명령어 확인
$ git help -a
# 명령어의 옵션 CLI에서 확인하기
$ git [명령어] -h
# 명령어와 옵션을 웹사이트에서 자세히 확인하기
$ git help [명령어]
$ git [명령어] --help