Branch
https://puk0806.tistory.com/66
원격 브랜치
- 리모트 브랜치
- 원격 저장소에 생성한 브랜치를 리모트 브랜치라고 하며, 로컬에 생성된 브랜치를 서버로 공유할 수 있다.
- 리모트 브랜치는 보통 `별칭/브랜치 이름` 과 같은 형태로 사용한다.
- 저장소를 복제(git clone) 하면 트래킹 브랜치가 하나만 표시된다. 복제할 당시 모든 브랜치를 복제하지 않았기 때문이다.
- 불필요한 브랜치를 한번에 다 가져오는 것은 효율성과 연관있다.
- 다른 브랜치를 풀 작업으로 받아 트래킹 브랜치를 활성화 하거나 직접 트래킹 브랜치를 지정할 수 있다.
$ git push 원격저장소별칭 브랜치명
$ git push -u origin master // 선택한 브랜치를 원격 서버로 전달한다.
$ git branch -r // 원격 저장소의 리모트 브랜치 목록 보기
$ git branch -a // 모든 브랜치의 정보를 확인하기
$ git branch -vv // 복제 저장소의 트래킹 브랜치 확인하기
$ git push --set-upstream origin 브랜치명 // 현재 내 로컬 브랜치와 원격저장소의 연결할 브랜치 명령
- 원격 브랜치 복사
- 원격 저장소와 로컬 저장소의 브랜치 목록은 서로 다를 수 있음, 따라서 동기화가 필요하다.
- 다른 개발자가 생성한 브랜치 목록 등 변경된 브랜치 목록을 동기화 할 수 있다.
$ git fetch
- 브랜치 페치
- fetch 는 원격 저장소의 리모트 브랜치 내용의 변경점을 내려받을 뿐, 자동으로 병합되지는 않는다.
- 병합이 필요한 경우 `git merge 원격저장소별칭/브랜치명` 으로 명령을 실행해야 한다.
브랜치 삭제
- 브랜치를 삭제한다는 것은 브랜치 내용과 커밋을 모두 삭제한다는 의미. 따라서 삭제를 할 때는 주의가 필요하다.
- 현재 자신이 바라보고 있는 브랜치는 삭제할 수 없다.
- 삭제를 위해서는 다른 브랜치로 잠시 이동해야 한다.
- 일반적인 삭제 방법
- d` 옵션은 스테이지 상태가 깨끗할 때만 삭제를 허용- 병합되지 않은 브랜치는 `-d` 옵션으로 삭제할 수 없다.
- add 명령어로 스테이지의 인덱스가 변경된 상태거나, 워킹 디렉터리가 작업한 기록이 있을 때에는 삭제하지 않는다.
$ git branch -d 브랜치명
- 강제 삭제 방법
- 일반적인 삭제 방법으로 삭제가 불가능 할 경우 사용한다.
- 옵션을 대문자 `-D` 로 브랜치를 강제 삭제
$ git branch -D 브랜치명
- 리모트 브랜치를 삭제하는 방법
- 원격 저장소의 브랜치 삭제는 신중하게 삭제해야 한다.
$ git push origin --delete 리모트브랜치명
'Git' 카테고리의 다른 글
[Git 교과서] 8장 병합과 충돌 (0) | 2023.06.20 |
---|---|
[Git 교과서] 7장 Stash (0) | 2023.06.15 |
[Git 교과서] 6장-1 Branch (0) | 2023.05.27 |
[Git 교과서] 5장 서버 (0) | 2023.05.24 |
[Git 교과서] 4장 커밋 (1) | 2023.05.11 |