Git

[Git 교과서] 6장-2 Branch

차노도리 2023. 6. 3. 20:02

Branch

https://puk0806.tistory.com/66

 

[Git 교과서] 6장-1 Branch

Branch 나뭇가지, 지사, 분점 등 줄기 하나에서 뻗어나온 갈림길을 의미한다. 저장공간 하나에서 가상의 또 다른 저장 공간을 만드는 것이다. Branch 특징 가상 폴더 작업 폴더를 실제로 복사하지 않

puk0806.tistory.com

 

원격 브랜치

  • 리모트 브랜치
    • 원격 저장소에 생성한 브랜치를 리모트 브랜치라고 하며, 로컬에 생성된 브랜치를 서버로 공유할 있다.
    • 리모트 브랜치는 보통 `별칭/브랜치 이름` 같은 형태로 사용한다.
    • 저장소를 복제(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