Ch06-10 Log and Diff, Merge and Conflict, Tag, README (Git 5-9)

김민지·2023년 4월 27일
0

Part 06. Git

목록 보기
2/2
  1. Git Graph : Repository의 버전과 Branch 등을 비주얼적으로 보여줌

  2. Cat 명령어

cat hello.py

-> 해당 파일의 내용을 읽어줌

cat > hello.py

-> 해당 파일이 존재한다면 아래 내용을 덮어써주고(수정),
존재하지 않는다면 파일을 새로 만들고 아래 내용을 입력해 줌

cat >> hello.py

-> 기존에 있던 내용에 이어서 입력해줌
-> 내용 입력후 엔터하고 Ctrl + D 키로 입력한 내용 저장

  1. Git Log
  • Branch별 변경이력을 볼 수 있음 (해당 branch로 이동해서 확인해야 함)
git log
  1. Git Editor 설정
git config --global core.editor <editorname> --wait

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

  1. Git Diff Tool 설정
  • Git Configuration 파일 열기
git config --global -e
  • Git Diff 설정 추가
[diff]
	tool = vscode
[difftool "vscode"]
	cmd = "code --wait --diff $LOCAL $REMOTE"
  1. Git Diff
  • Local Branch 간 비교
git diff <branch1> <branch2>

-> 다른 branch에서 commit까지 완료한 내용 차이 비교가능

  • tool 이용 : vscode로 설정해놨기 때문에 vscode로 실행됨
git difftool <branch1> <branch2>
  • Commit 간 비교
git diff/difftool <commithash> <commithash>

-> Commit Hashcode 확인방법 : 로그 확인해서 commit 뒤의 문자열

git log
  • 마지막 Commit과 이전 Commit 비교
git diff/difftool HEAD HEAD^
  • 마지막 Commit과 현재 수정사항 확인
git diff/difftool HEAD

-> commit까지 완료한 내용과 commit까지 하지 않은 내용(내용만 수정함) 비교가능

  • Local and Remote 간 비교
git diff/difftool <localbranch> origin/<remotebranch>

-> commit까지 하고 push는 하지 않은 내용과 push까지 된 내용 비교가능

  • Git Graph 확인
    : 현재 폴더를 VSCode로 열기 위해 아래와 같은 명령어 입력
code .
  1. Git Merge Tool 설정
  • Git Configuration 파일 열기
git config --global -e
  • Git Merge 설정 추가
[merge]
	tool = vscode
[mergetool "vscode"]
	cmd = "code --wait $MERGED"
  1. Git Merge
  • 현재 위치한 Branch에 다른 Branch를 병합
git merge <branchname>
  1. Merge Conflict
  • Branch를 Merge하는 과정에서 충돌이 날 수 있음
  • 혹은 Push, Pull 하는 과정에서도 충돌이 일어날 수 있음
    (1) MergeTool 실행
    : Conflict 발생 이후 아래와 같이 MergeTool을 실행하면 Conflict 난 파일들이 차례로 열림
git mergetool

(2) VSCode에서 Conflict 파일 수정
: 둘 중 맞는 코드를 선택하여 수정하고 저장하기 (Diff 표시 부분도 삭제)

(3) Conflict 해제, Merge 진행
: git add + git commit

git add test.txt
git commit

(4) Commit Message 저장 후 완료 (자동생성)

(5) Git Log로 확인

  1. Tag
  • 특정 버전(Commit)에 Tag를 달아놓을 필요가 있을 때 사용 (ex- 버전 릴리즈)
  • Git Tag 생성1 (현재 버전에 Tag 달기)
git tag <tagname>
  • Git Tag 생성2 (특정 버전에 Tag 달기)
git tag <tagname> <commithash>
  • Git Tag 생성3 (Tag를 Remote Repository에 Push)
git push origin <tagname>
  • Git Tag 목록 보기
git tag
  • Git Tag 상세정보
git show <tagname>
  • Git Tag 삭제1 (Local에서 삭제)
git tag --delete <tagname>
  • Git Tag 삭제2 (Remote로 Push)
git push --delete origin <tagname>
  1. README
  • 프로젝트에 대한 설명, 사용방법, 라이센스, 설치법과 같은 부분에 대해 기술하는 파일

  • 나, 직장동료, 프로그램 사용자를 위해 존재함

  • Markdown
    (1) Headers (큰 제목) : 아래에 '======='
    (2) Headers (작은 제목) : 아래에 '-------'
    (3) Headers (글머리 1~6) : 글 앞에 #, ##, ###, ####, #####, ###### (#이 많을수록 글자크기가 작음)
    (4) BlockQuote (블럭인용문자) : 글 앞에 >, > >, > > >
    (5) BlockQuote (혼합) : 블럭 내에서 다른 Markdown 요소 포함가능
    (6) 목록 (순서가 있는 목록) : 내림차순으로 자동 정렬됨
    (7) 목록 (순서가 없는 목록) : , +, - 탭을 이용해서 타이핑
    (8) 코드블럭1 : '<'pre>'<'code>{code}<'/code><'/pre> ('는무시)
    (9) 코드블럭2 : 코드 앞뒤에 ` 3개씩
    (10) 수평선 : ----------
    (11) 외부링크 : [Google] + (링크주소) -> Google글자를 누르면 링크주소로 이동
    (12) 자동연결 : <링크주소> -> 링크주소를 누르면 거기로 이동
    (13) 강조 : 글자 앞뒤에
    , _ (italic), **, __ (bold), ~~ (cancelline)
    (14) 이미지 삽입 : GitHub 'New issue'에서 원하는 이미지를 넣으면 생성되는 주소를 복사해서 사용하면 됨. 코드 작성시 이미지를 그대로 끌어와 써도 가능(주소가 바로 자동생성됨).

<제로베이스 데이터 취업 스쿨>

0개의 댓글