20220418_Git 에 대해 알아보자

2022. 4. 18. 17:18Git hup

#1 버전 관리 시스템


 - 버전 관리 : 파일의 변화를 기록해서 특정 지점을 불러올 수 있는 시스템
 - 로컬 / 중앙집중형 / 분산형
 | > 로컬 : 내 컴퓨터에서만 버전 관리
 | > 중앙집중형 : 서버에서만 버전 관리
 | > 분산형 : 내 컴퓨터 + 서버에서 버전 관리
 - Git은 분산형 버전 관리 시스템(Distributed Version Control System)

#2 git


- Git은 스냅샷을 이용해서 버전 관리함.
- Committed / Modified / Staged
| > Committed : 버전 관리를 한 상태   작업순서 
| > Modified  : 수정이 일어난 상태
| > Staged : 커밋하겠다고 한 상태

순서.  1. Modifiel -> 2. Staged -> 3. Committed
               수정    ->    커밋하기직전    -> 커밋

#3 명령어


- git commit : 커밋하는 것
- git branch : 브랜치를 만드는 것

| > -f :  강제이동| > 브랜치 : 특정 커밋에 대한 참조
- git checkout : 특정 버전(커밋)을 불러오는 것

| > -b : 브랜치를 만들고 이동

| > -b n1 -> n2 :  n1이 n2로 추적
- git merge : 서론 다른 두 개의 커밋을 합쳐서 새로운 커밋을 생성
- git rebase : 커밋을 복사해 다른 커밋으로 붙여넣는 것
| > -i : 인터랙티브 리베이스
- git cherry - pick : 원하는 커밋을 복사해 붙이는 것
- 상대 참조(Realative Reference)

git reset HEAD~1 하면 // c2에 있는 main* c1으로 옮기고 c2를 없앰
git revert HEAD 하면 // c2에 있는 main* c2' 옮기고 c2를 그대로 남긴다

> HEAD : 현재 작업 중인 버전
| ^ : 특정 커밋의 부모
| 2 : 두번째 부모
| ~: 특정 커밋으로부터 어떤 수만큼 떨어진 부모
- git tag = 특정 커밋에다가 어떤 내용을 남기는 것 version 남길때씀
- git clone : 원격 저장소를 복제하는 것
- git fetch : 원격 저장소의 내용을 로컬에도 동기화
| > 1. 로컬에 없는 커밋을 다운로드
| > 2. 원격 브랜치를 업데이트
| > 원격 브랜치 : 원격 저장소의 브랜치를 추적
- git pull : git fetch + git merge

| > -- rebase : 쓰면 헤드값쪽을 다른쪽 값으로 복사하는것  
- git push : 로컬 저장소의 내용을 원격으로 보내는 것
| > 1. 원격에 없는 커밋을 업로드
| > 2. 원격 브랜치를 업데이트

 

실습할수있는 사이트 : https://learngitbranching.js.org/?locale=ko << 연습

'Git hup' 카테고리의 다른 글

20220424_Git_hub 팀장하기  (0) 2022.04.24
20220420_Git  (0) 2022.04.20
20220419_Git 활용  (0) 2022.04.20
20220419_Git 파일만들기  (0) 2022.04.20
20220419_Git 1  (0) 2022.04.19