스터디 노트🖊️_Day 39(Git)

정설령·2023년 4월 25일
0
post-thumbnail

✔️ Git 6~9

Git Editor & Diff

  • 초기 상태 (vim)
  • VScode로 editor 변경 및 Git Configuration 파일에 diff 설정 추가

    • '--wait' 옵션은 vscode 창이 꺼질 때까지 command 대기
  • branch 간 비교
    • main과 dev diff 확인 (vim)
    • difftool로 main과 dev diff 확인 (vscode)

  • commit 간 비교
    • git log로 commit 번호 확인 후 해당 번호로 diff 확인

    • 마지막 commit(HEAD)과 그 전 commit(HEAD^) diff 확인

    • 마지막 commit(HEAD)과 현재 수정사항 diff 확인

  • local main branch와 remote main branch diff 확인

  • Git graph 확인

문제

  1. GitHub에서 Remote Repository 생성 (이름 : diff_project, 옵션 : README.md)
  2. Local에 Clone (위치 : git_ws 폴더)
  3. Local Repository에서 파일 생성 후 Push (파일: text.txt, 내용 : my name is noma)

  4. Main Branch에서 파일 수정 후 마지막 commit한 내용과 비교 (수정 : my name is zero.)

  5. Main Branch에서 수정한 내용을 commit 한 뒤 Remote Server와 비교

  6. Dev Branch 생성 후 이동, 파일을 수정한 뒤 커밋 후 main Branch와 비교(Branch 이름 : dev, 수정 : my name is base.)


  7. Dev Branch에서 두번째 commit과 마지막 commit 비교


  8. Git Grpah 확인(vscode에서 diff_project의 Git Graph를 Branch별로 확인)

Merge and Conflict

  • 실습환경
    • Remote Repository 'merge_project' 생성
    • Local Repository에 clone - git_ws 폴더에 복제
    • main branch에 test.txt 파일 생성 후 commit

    • dev branch 생성 및 이동 후 test.txt 파일 내용 추가 및 commit

    • log 확인
    • git merge 설정 추가

Merge

  • branch 간 파일 비교
  • main branch를 기준으로 dev branch merge 수행

Conflict

  • Merge Conflict
    • Branch를 Merge하는 과정에서 충돌이 날 수 있음
    • 혹은 Push, Pull하는 과정에서도 충돌이 일어날 수 있음
  • main branch에서 test.txt 파일을 변경 후 commit
  • dev2 branch를 생성
  • main branch에서 test.txt 파일 재변경 후 commit
  • dev2 branch로 이동 후 test.txt 파일 변경 후 commit

  • main 기준으로 dev2 branch merge 수행
  • 발생한 conflict를 해결하기 위해 mergetool 실행 후 파일 수정


  • coflict 해제 및 commit message 저장

  • 변경사항 확인

Tag

  • 특정 버전 (Commit)에 Tag를 달아놓을 필요가 있을 때 사용 (예 - 버전릴리즈)
  • 실습환경
    • remote repository에서 tag_project를 생성하고 local repository로 내려받기
    • local에서 hello.txt 파일 생성 후 3번의 commit 수행
  • tag_project에 tag(commit1 : v0.1, commit2 : v0.2, commit3 : v0.3) 달기

  • tag 목록과 상세정보 확인

  • Git Tag 전부 Remote Repository에 Push 하고 확인

  • V0.1 Tag Local + Remote에서 지우고 확인

README

  • 제목
This is H1
===

This is H2
---

# This is H1
## This is H2
### This is H3
#### This is H4
##### This is H5
###### This is H6

  • 블록 인용문자
#### BlockQuote
#### 블록 인용문자 사용(>)
> This is a first blockquote.
> > This is a second blockquote.
> > >This is a third blockquote.

#### BlockQuote(혼합)
#### 블럭 내에서 다른 Markdown 요소를 포함할 수 있음
> ### This is H3
> * List

  • 목록
#### 목록 - 순서가 있는 목록
##### 내림차순으로 자동 정렬됨
1. 첫번째
2. 두번째
3. 세번째

#### 목록 - 순서가 없는 록
* + -

* 빨강
  * 녹색
    * 파랑

* 1단계
  * 2단계
    * 3단계

  • 코드블럭
#### 코드블럭 1
<pre><code>print('this is readme file.')</code></pre>
<code>print('this is readme file 2.')</code>
#### 코드블럭 2
```
print('this is readme file 3.')
```
  • 수평선
#### 수평선

* * *
***
*****
- - -
-------

  • 외부링크
#### 외부링크
Link: [Google](https://google.com)

#### 자동연결
* 외부링크: <https://github.com/seolryungJ>
* 이메일링크: <tjffud97@gmail.com>

  • 강조
#### 강조

* *single asterisk* 
*  _single underscores_
*  **double asterisk**
*  __double underscores__
*  ~~cncleline~~

  • 이미지 삽입
#### 이미지 삽입
![images](https://user-images.githubusercontent.com/131641261/234281765-671cd26b-5bfd-43f7-b5f6-a24ecae74b05.jpg)

  • 작성한 README.md 파일 내려받기
  • local에서 README 파일 수정하기

  • remote에 올리고 확인


"이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다."

0개의 댓글