[제로베이스] 데이터 사이언스 15기 - (06-27 Git 스터디노트)

윤태호·2023년 6월 27일
0
post-thumbnail

오늘 수강한 강의 - Log and Diff (01 ~ 10), Merge and Conflict (01 ~ 07)

Git Graph

  • Installing Git Graph on VSCode
    Git Extension 에서 'git graph' 로 검색하여 설치
  • Open HelloGit
    HelloGit 을 열어서 Graph 확인 (Branch 별도로 확인 가능)

실습환경 만들기

  • Remote Repository 생성
    log_project 생성
  • Remote Repository 주소 복사
  • Local Repository 에 Clone
    git_ws 폴더에 복제
  • 파일 추가 후 저장
    Control + D 키로 입력한 내용 저장
  • 파일 수정 후 저장
  • Branch 생성 후 이동
  • Branch 생성 후 이동

Git Log

  • Git Log
    Branch 별 변경이력을 볼 수 있음
  • main branch 로 이동
  • main branch 로그 확인
  • dev branch 로 이동
  • dev branch 로그 확인

Git Editor 설정

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

Git Diff Tool 설정

  • Git Configuration 파일 열기
  • Git Diff 설정 추가

Git Diff

  • Git Diff - Local Branch 간 비교
  • 실습
  • 실습 2
  • Git Diff - Commit 간 비교
  • 실습
    Commit Hashcode 확인 (commit 뒤의 문자열)
  • create 과 modify 1 비교
  • Git Diff - 마지막 Commit 과 이전 Commit 비교
  • 실습
  • Git Diff - 마지막 Commit 과 현재 수정사항 확인
  • 실습
  • Git Diff - Local and Remote 간 비교
  • 실습
  • 아까 수정한 파일을 Commit (Local Repository 의 Main Branch 에만 반영됨)
  • Local Repository 와 Remote Branch 비교
  • Git Graph 확인
    현재 폴더를 VSCode 로 열기 위해 아래와 같은 명령어 입력

실습 환경 만들기

  • Remote Repository 생성
    merge_project 생성

  • Local Repository 에 Clone
    git_ws 폴더에 복제
  • 실습환경 체크
  • 파일 추가 후 저장
  • Branch 생성 후 파일 수정
  • Git Log 확인

Merge Tool 설정

  • Git Configuration 파일 열기
  • Git Merge 설정 추가

Merge

  • Git Merge
    현재 위치한 Branch 에 다른 Branch 를 병합
  • Main Branch 로 이동
  • Dev Branch Merge
  • Log
    Merge 결과 확인

Conflict

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

  • Main Branch 에서 파일 수정
    Hello, noma 를 만들자
  • Conflict Test 를 위한 Branch 생성
    Hello, noma 를 카피한다 (이동은 하지 않음)
  • Main Branch 에서 파일 수정
    Hello, zero 를 만들자
  • Dev2 Branch 에서 파일 수정
    Hello, base.
  • Main Branch 에서 Dev2 Merge
    이때 양쪽이 같은 파일의 같은 부분을 수정했기 때문에 Conflict 발생
  • MergeTool 실행
    Conflict 발생 이후 아래와 같이 MergeTool 을 실행하면 Conflict 난 파일들이 차례로 열림
  • VSCode 에서 Conflict 파일 수정
    Main Branch 와 Dev2 Branch 의 Diff 를 <<<<, ====, >>>> 로 표시
  • 둘 중 맞는 코드를 선택하여 수정하고 저장 (Diff 표시 부분도 삭제)
  • Conflict 해제
    git add + git commit
  • Commit Message 저장 후 완료
  • Git Log 로 확인

재미있었던 부분

diff 와 difftool을 이용하여 local repository와 remote repository의 차이를 비교하는 부분이 재미있었다

어려웠던 부분

저번 강의내용에서 main을 master로 수정하였었는데 다시 되돌려도 이미 만들어놓은 master는 main으로 변경되지 않았다
또 >를 이용하여 print내용을 입력할때 수정사항이 모두 담기는 듯 하다
나는 print('hello, cat')와 같이 적었지만 중간에 이상한 문자들과 ESC 라는 마크가 보였다

느낀점 및 내일 학습 계획

Git은 전에 배울때 사용했던 다른 프롬프트와 또 달라서 가끔 헷갈릴 때도 있고 특정 페이지에서 빠져나오기가 어려울때가 있는 것 같다
내일은 나머지 git 부분을 학습 할 예정이다

profile
데이터 부트캠프 참여중

0개의 댓글