[Zero-Base DS]스터디노트_Git(3)

HAHAHAEUN·2024년 5월 2일
post-thumbnail

주요 학습내용

1. Git Log

2. Git Editor 설정

3. Git Diff

4. Git Merge & Conflict

5. Git Tag

I. Git Log

  • Branch별 변경이력을 볼 수 있음
git log
  • main branch로 이동
  • main branch 로그 확인

II. Git Editor 설정

  • --wait 옵션은 command line으로 VSCode를 실행시켰을 경우, VSCode 인스턴스를 닫을 때까지 command를 대기

III. Git Diff Tool 설정

1. Git Configuration 파일 열기

git config --global -e

2. Git Diff 설정 추가

[diff]
    tool = vscode
[difftool "vscode"]
    cmd = "code --wait --diff $LOCAL $REMOTE"

3. Local Branch간 비교

git diff <branch1> <branch2>
  • 예시)

4. Commit간 비교

git diff <commithash> <commithash>
# difftool로 조회해도 됨
  • commit Hashcode 확인하는 방법(commit 뒤의 문자열)
    •   <repository> % git log

5. 마지막 Commit과 이전 Commit 비교

git diff HEAD HEAD^
  • HEAD : 마지막
  • HEAD^ : 마지막 바로 직전

6. Local and Remote간 비교

git diff <branch> origin/<branch2>

IV. Git Merge & Conflict

1. Git Configuration 파일 열기

git config --global -e

2. Git Merge 설정 추가

  • MERGETOOL로 VS 설정하겠다는 뜻
[merge]
    tool = vscode
[mergetool "vscode"]
    cmd = "code --wait $MERGED"

3. Merge란?

  • 현재 위치한 Branch에 다른 Branch를 병합
  • merge는 주종 관계가 있기 때문에 어디에 무엇을 merge 하느냐가 중요함
git merge <branchname>

4. Conflict

  • Branch를 Merge하는 과정에서 충돌이 날 수 있음
  • 혹은, Push/Pull하는 과정에서도 충돌이 일어날 수 있음

  • 따라서 충돌된 부분 수정 후 다시 Merge해야함
git mergetool
# 이동된 화면에서 수정할 부분 수정 후 저장
# 그리고 다시 git add => git commit

V. Git Tag

  • 특정 버전(commit)에 Tag를 달아놓을 필요가 있을 때 사용
    • 예) 버전 릴리즈

1. Tag 생성

  • Local Repository에서 실행 시, 마지막 버전에 tag 생성됨
git tag <tagname>

2. 생성된 Tag 확인(git log)

3. 특정 버전에 Tag 달기

git tag <tagname> <commithash>

4. Remote Repository에 Push(공유하기)

git push origin <tagname>

5. Tag 목록 보기 : git tag

6. Tag 상세 정보

git show <tagname>

7. Tag 삭제

git tag --delete <tagname>

[자료 출처] 제로베이스 데이터 스쿨

profile
할 거면 제대로 하자

0개의 댓글