[Git] 원격/로컬 저장소 관리
프로젝트를 진행하면서 Gitlab으로 버전 관리를 하며 여러 사람들과 협업을 한다. 협업을 하며 다른 팀원들이 생성한 remote의 여러 branch를 정리해보았다.🎈
⑴ branch 목록 조회
- remote branch 조회
$ git branch -r
origin/HEAD -> origin/master
origin/master
- local과 remote 저장소의 모든 branch 조회
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
⑵ pull과 fetch
🥕 pull : remote 저장소로부터 최신 내용을 로컬로 가져오면서 병합한다. [다운 + 병합]
-
git pull = git fetch + git merge
-
local 브랜치와 remote 저장소 origin/master가 같은 위치를 가리킨다.
🧀 fetch : remote 저장소로부터 커밋들을 로컬로 가져온다. (병합은 별개)
-
local 브랜치는 원래 있던 local의 최근 커밋 위치를 가리키고,
remote 저장소 origin/master는 가져온 최신 커밋을 가리킨다. -
사용하는 이유:
1. 원래 내용과 바뀐 내용과의 차이를 알 수 있음 ($ git diff HEAD origin/master)
2. commit이 얼마나 됐는지 알 수 있음 ($ git log --decorate --all --oneline)
→ 이런 내용들을 확인 후 git merge origin/master하면 git pull과 같아진다. (병합 포함)
⑶ remote/local branch update
- local 저장소에 있는 모든 branch의 remote 정보를 업데이트, fetch한다.
$ git remote update
- remote에서 새로 추가되거나 삭제된 branch 업데이트 → remote 브랜치의 더 이상 유효하지 않은 참조를 지운다.
$ git remote prune origin
$ git remote update --prune
- local 저장소를 최신 정보로 갱신(remote 저장소와 동기화)하며 자동적으로 더이상 유효하지 않은 참조를 제거한다.
$ git fetch -p
From github.com:test/test
x [deleted] (none) -> origin/test
Reference
- https://mylko72.gitbooks.io/git/content/remote/remote_update.html
- https://velog.io/@towozy/퍼옴-Git-Remote-관리-명령어-한눈에-보기
Author And Source
이 문제에 관하여([Git] 원격/로컬 저장소 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gsuchoi/Git-branch-update저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)