Git

Git 특강 - 2. 브랜치 관리하기

차돌박이츄베릅 2023. 6. 8. 12:23

브랜치는 버전의 분기


브랜치로 버전의 분기를 관리하는 방법 3단계

  1. 브랜치를 나눈다
  2. 각자의 브랜치에서 작업한다.
  3. (필요하다면) 나눈 브랜치를 합친다.

 

작업 과정

  1. git branch : 브랜치 이름 조회. 별표표시가 지금 환경임. main(master)브랜치
  2. git branch foo(새브랜치이름)
  3. git checkout foo : foo브랜치로 작업환경을 바꿔주겠다
  4. foo_a.txt 파일 만들어서 내용 작성
  5. git add foo_a.txt
  6. git commit -m "foo commit"
  7. git checkout master(or main)
  8. git branch -d 브랜치명 : 체크아웃되어있지 않은 브랜치만 삭제할 수 있음.


특정 브랜치에서 작업하기: HEAD와 체크아웃

  1. HEAD      는 포인터. 가리키는 대상
    - 현재 작업 중인 브랜치의 커밋을 가리킨다.
    - 일반적으로 현재 작업 중인 브랜치의 최신 커밋을 가리킨다
    - 한 마디로 내가 지금 어디에서 작업중인가를 가리킴
  2. 체크아웃
    HEAD의 위치를 특정 브랜치의 최근 위치로 옮기는거

 

 

 

 



브랜치를 합친다 == 브랜치를 병합(merge)한다
merge에는 새로운 커밋을 만드는 병합과 

새로운 커밋을 만들지않는 병합이 있음


빨리감기 병합(fast-forward merge)

foo 브랜치가 뻗어나와서 커밋이 쌓이는 동안 master브랜치는 추가된게 없어서

추가된 커밋을 빨리감기하듯 추가된 것만 반영하면 됨.

fast-forward merge는 변함이 없던 브랜치가 마치 빨리감기하듯이 foo브랜치에서 추가된 커밋을 반영


master브랜치에도 다른 커밋이 있는 상황에선?

master브랜치와 새 브랜치 둘 다 서로 없는 커밋이 있는 상황 

=> 두 브랜치를 병합한 새로운 커밋이 생성

 

명령어

  • git branch 브랜치 목록 조회
  • git branch 브랜치명 : 생성
  • git branch -d 브랜치명 : 삭제
  • git checkout 브랜치명 : (생성하고) 체크아웃
  • git merge 브랜치명 : 병합


충돌 해결하기 (⭐⭐⭐충분히 연습해)

  1. 충돌을 해결한다.(어떤 브랜치의 내용을 반영할지 직접 선별한다) - 어떤 내용을 반영할지만 남겨두고 나머진 다 지워주면 됨
  2. 다시 커밋한다. add하고 commit



깃 연동하긔 안전한 사용
Windows에서 Github 연동하기: https://youtu.be/P9gMl4O4kVg (7분 25초까지)

'Git' 카테고리의 다른 글

Git 특강 - 3. Github 원격저장소  (0) 2023.06.08
Git 특강 - 1. Git 버전관리  (0) 2023.06.08
명령어 정리  (0) 2023.06.07
.gitignore  (0) 2023.05.18
[에러해결] unable to access The requested URL returned error: 403  (0) 2023.05.18