GIT 명령어 익히기 2, 개발 협업 방식

개미·2023년 3월 20일
0

✅ GIT 명령어 익히기 2

1탄의 내용과 이어집니다.

1. git diff

  • 최근 commit한 파일과 현재 파일 차이점을 보여준다.
  • j/k로 스크롤바를 조작한다.
  • q로 종료한다.

터미널의 한계로 보기가 복잡하고 힘들다.
엔터키 친 것도 차이점으로 분석하기 때문에 별로다.

2. git difftool

  • 시각적으로 편리하게 비교할 수 있다.
  • Vim 에디터로 나온다.
  • h/j/k/l 키가 방향키다.
  • :q 아니면 :qa로 종료한다.

git difftool 커밋아이디: 현재 파일 vs 특정 커밋을 비교 가능하다.
git log --online --all: 커밋 아이디를 볼 수 있다.
git difftool 커밋아이디 커밋아이디

vim 에디터를 쓰기 싫다면,

git config --global diff.tool vscode
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'

vscode에서 extension에서 git치고 아무거나 다운로드 받으면 편하게 git diff 사용 가능하다.
예시) git graph

3. git branch

코드 짜다가 버그가 생길 걱정.. -> 파일 복사본 만들어서 거기에 먼저 코드 짜보면 안심 -> branch 기능 이용하면 복사본 만들기 쉬움

git branch 브랜치명: 브랜치 생성해줌
git switch 브랜치명: 브랜치로 이동
git status: 현재 어느 브랜치에 있는지 확인
git add .
git commit -m '파일 생성'
git switch main -> 만든 쿠폰 브랜치에서 만든 파일은 없어져 있음. 독립적 개발 가능.
git log --online --all --graph: 그래프 형식으로 로그 찍어줌.

coupon 브랜치 코드를 main 브랜치에 합치고 싶다.

git switch main
git merge coupon
(다른 부분 수정했으면 깨끗하게 성공)
(같은 부분 수정하면 merge conflict->원하는 코드만 남기고 git add & git commit 하거나 vscode 에디터 사용 후 git add & git commit)

✅ 개발 협업 방식

1. GitFlow

1. main
2. develop
이 브랜치에서 신기능 개발
3. feature
신기능 개발해보고 잘되면 develop에 merge한다.
4. release
임시 브랜치. 여러가지 테스트를 여기서 한다.
완성되면 main에 합친다.
develop에도 merge해야한다.
5. hotfix
급한 것은 여기서 고친다.

2. Trunk-based

  • main 하나만 운영한다.
  • 버그 픽스가 필요할시 다른 브랜치를 생성하고 merge 한다.

    소스코드 한 곳에만 있다는 장점이 있다.
    테스트를 많이, 자주 해야한다는 단점이 있다.

profile
개발자

0개의 댓글