Christy Choi
Django Developer at Your Service

Follow

Django Developer at Your Service

Follow

5.[Git] 협업을 위한 깃 명령어 살펴보기

Christy Choi's photo
Christy Choi
·Jun 5, 2021·

브랜치 생성하기

git status

image.png

  • On branch main -> main 브랜치에서 작업하고 커밋 생성
git log --pretty=oneline --graph

image.png

  • HEAD 포인터: 현재 작업하는 브랜치의 최종 커밋을 바라본다

**브랜치 생성하는 법:

  1. 깃허브 원격 저장소에서 생성 후, 지역 저장소로 가져오기
  2. 지역 저장소에서 생성 후, 원격 저장소에 반영하기

깃허브 원격 저장소에서 브랜치 생성하기

  1. main이나 master 클릭
  2. 텍스트 입력창에 브랜치명 입력
  3. 생성 클릭

image.png

image.png

  • 새로 생성된 브랜치에 체크 표시가 되어있음

원격브랜치를 지역 저장소로 가져오기

git remote update

원격 저장소의 최신 정보를 가져온다

image.png

### 원격 저장소 브랜치 확인
git branch -a

image.png

  • remotes/origin 원격 저장소의 origin 식별자로 등록한 원격 저장소의 브랜치
### 원격 저장소 브랜치를 지역 저장소 브랜치로 설정
git checkout -t 'origin/브랜치명'

image.png


git checkout : 브랜치로 이동 git checkout -b : 새 브랜치 생성 후 이동 git checkout -t : 원격 저장소의 브랜치를 지역 저장소에 등록 후 이동


git branch -a

image.png

  • test/remote-branch 가 생겨남

git branch -a : 지역 저장소와 원격 저장소 브랜치 정보 보여줌 git branch -d : 브랜치 삭제 git branch -l : 지역(local) 저장소 브랜치 정보 보여줌, 그냥 git branch 해도 됨 git branch -r : 원격(remote) 저장소 브랜치 정보 보여줌 git branch -v : 지역 저장소 브랜치 정보 + 최신 커밋 내역

image.png


지역 저장소에서 깃을 통해 브랜치 생성하기

git checkout main
git branch '새로운 브랜치명'
git branch -a
git checkout '새로운 브랜치명'
git push origin '새로운 브랜치명'

image.png

image.png

image.png

image.png

image.png


브랜치 삭제하기

git branch -d '브랜치 명'

git push origin -d '브랜치명'

image.png


브랜치 병합하기

git log --pretty=oneline --graph

image.png

  1. 새 브랜치로 간다
  2. 새로 커밋을 생성한다
  3. 머지 커밋을 한다

빨리감기 병합: fast forward

  • main 브랜치에 병합을 시도할 때
  • main 브랜치에 새로운 커밋이 없다면 빨리감기 병합으로 진행된다
  • main 브랜치에 단순히 최신 커밋이 더해지는 것
git branch test/fast-forward
git checkout test/fast-forward

git add .
git commit -m "메시지"
git checkout main

image.png

git merge test/fast-forward
git log --pretty=oneline --graph

image.png

image.png


병합 커밋 생성

git checkout test/local-branch
git log --pretty=oneline --graph --all
git add .
git commit -m "change settings"
git checkout master
git merge test/local-branch
git log --pretty=oneline --graph
git commit -m "Merge branch test/local-branch"

image.png

image.png

  • 충돌 발생
  • 충돌 시 에디터가 나타남
  • 수정 후 커밋

image.png


충돌 해결하기

git checkout test/remote-branch
git log --pretty=oneline --graph --all
git add .
git commit -m "Change header"
git checkout main
git merge test/remote-branch
git commit -m "Resolve conflicts"
git log --pretty=oneline --graph

image.png

image.png


풀 리퀘스트 요청하기

  • 새 브랜치 생성 후 작업 브랜치로 변경
  • 파일 수정 후 새로운 커밋 생성
git branch feature/body-change
git checkout feature/body-change
git add .
git commit -m "change body"
git push origin feature/body-change
  • 원격 저장소에서 feature/body-change 브랜치가 반영되었나 확인

image.png

  • Compare & pull request 버튼 클릭
  • base: main 브랜치, compare: feature/body-change 브랜치 확인
  • 스크롤 내려서 변경 사항 확인

image.png


풀 리퀘스트 검토하기

  • 풀 리퀘스트 시 reviewer에 동료 추가하기

image.png

Did you find this article valuable?

Support Christy Choi by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
 
Share this