[2023.12.06] Git - Log and Diff

하은·2023년 12월 7일
0

** 참고
cat 파일이름(예 hello.py)
= 파일에 있는 내용을 보여줌

cat > 파일이름
= 파일이 존재하면? 내용을 덮어쓰게 해줌
= 존재하지 않으면? 파일을 만들고, 내용을 입력할 수 있게 해줌

cat >> 파일이름
= 파일이 존재하면? 내용 뒤에 붙여넣기를 해줌

실습환경 만들기(vscode)

  • Remote Repository 생셩
  • github에서 log_project 생성
  • 주소 복사
  • local repository에 clone = git_ws폴더에 복제
    git clone + 주소 이름:토큰@주소
  • 파일 추가 후 저장
    = cd log_project
    = cat > hello.py
    = print('hello, world')
    ** ctrl + d 키로 입력한 내용 저장
    = git add hello.py
    = git commit -m 'create' hello.py
  • 파일 수정 후 저장
    = cat > hello.py
    = print('hello, cat')
    = git commit -m 'modify1' hello.py
  • branch 생성 후 이동
    = git checkout -b dev
    = git branch
  • 파일 수정 후 저장
    = cat > hello.py
    = print('hello, dog')
    = git commit -m 'modify2' hello.py

- Git Log

- branch 별 변경이력을 볼 수 있음

= git log
현재 위치한 branch의 변경 이력을 보여줌

  • 예) git log 실습1
    1) main branch로 이동
    = git checkout main
    2) main branch 로그 확인
    = git log
    3) dev branch로 이동
    = git checkout dev
    2) dev branch 로그 확인
    = git log
    == main에서의 로그도 포함해서 보여줌

- Git Editor 설정

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

= git config --global core.editor <editorname> --wait

= git config --global core.editor 'core --wait'

= git config --global core.editor 'core'

= git config --global core.editor 'vim'
-> esc 는 명령모드 / i 는 수정모드
-> esc - :q! 눌러서 나올 수 있음

- Git Diff Tool 설정

버전 간의 차이점 조회가능

- Git Configuration 파일 열기

= git config --global -e

= global에 설정된 editor옵션을 수정하겠다

- Git Diff 설정 추가

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

- Git Diff - local branch 간 비교

= git diff <branch1> <branch2>
  • 예)
    git diff main dev

  • 예) vscode의 기능을 이용하게 됨
    git difftool main dev

- Git Diff - commit 간 비교

= git diff <commithash> <commithash>
  • 예) commit Hashcode 확인(commit뒤의 문자열)
    = git log
  • 예) 비교할 버전을 정하고, 해시코드를 복사해옴
    = git difftool c5f107068b1e9b42a42e77a5276c09e3e879cdb0
    880d19f0f95c4382ac8657a31d075e523a9fbc08

- Git Diff - 마지막 commit과 이전 commit 비교

= git diff HEAD HEAD^ 
		(뜻: 마지막, 마지막 직전)
  • 예) commit Hashcode 확인(commit뒤의 문자열)
    = git difftool HEAD HEAD^

- Git Diff - 마지막 commit과 현재 '수정사항' 확인

= git diff HEAD
  • 예) commit Hashcode 확인(commit뒤의 문자열)
    = cat > hello.py
    = print('hello, pig')
    = git difftool HEAD
    아직 COMMIT 안했는데도 DIFF를 보여줌

- Git Diff - Local and Remote 간 비교

= git diff <branch> origin/<branch2>
			 local 		remote
  • 예)
    1) 일단 현재 main branch 상태를 remote repository로 push
    = git push origin main
    2) 아까 수정한 파일을 commit(local repository의 main branch에만 반영됨)
    반영 시켜주고(cat version), 수정한 걸 올려줌
    = git commit -m 'modify3' hello.py
    3) local repository와 remote branch 비교
    = git difftool main origin/main

- Git graph 확인

현재 폴더를 vscode 로 열기 위해 아래와 같은 명령어 입력

= log_project % code .

0개의 댓글