https://learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
(git을 연습해볼 수 있는 사이트입니다)
1. 버전 관리 시스템
- 버전 관리 : 파일의 변화를 기록하는 것
- 로컬 / 중앙집중형 / 분산형
- 로컬 : 내 컴퓨터에서만 버전 관리
- 중앙집중형 : 서버에서만 버전 관리
- 분산형 : 내 컴퓨터 + 서버에서 버전 관리
- Git은 분산형 버전 관리 시스템
2. Git이란?
-Git은 스냅샷을 이용해서 버전 관리함.
- Committed / Modified / Staged
> Committed : 버전 관리를 한 상태
> Modified : 수정이 일어난 상태
> Staged : 커밋하겠다고 한 상태
3. 명령어
■LOCAL
1. COMMIT
git commit
- 작업 내용을 commit하여 저장합니다.
2. Branch
$ git branch 브랜치 명 / 옵션 -f : 브랜치를 강제로 옮기는 것 / -d : 브랜치 삭제
$ git branch - 생성된 브랜치들 확인
- 브랜치를 생성합니다.
3. merge
$ git merge 합칠 브랜치
- main 브랜치로 이동하여 명령어 입력
- 서로 다른 두 개의 커밋을 합쳐서 새로운 커밋을 생성
4. Rebase
$ git rebase 브랜치 / 옵션 : -i (인터렉티브 리베이스)
- 브랜치 복사
$ git rebase -i HEAD~4 를 해석하면, HEAD(*) 위치에서 4단계 전(C1)에 복사해라
5. HEAD
- * : 위치한 곳에 HEAD가 숨어 있다.
6. 상대 참조
HEAD : 현재 작업 중인 버전
^ : 특정 커밋의 부모 (^2 : 두번째 부모)
~ : 특정 커밋으로부터 어떤 수만큼 떨어진 부모
7. revert and reset
revert : 커밋하기 전 C2의 복사본을 만듭니다.
reset : 커밋을 하기 전으로 되돌리는 명령어입니다.
8. checkout
$ git checkout 브랜치 명
- 이동(내가 위치할 곳으로 이동한다)
- git checkout : 특정 버전(커밋)을 불러오는 것 ( -b 브랜치를 만들고 체크아웃까지 하는 것)
- HEAD(*)를 옮긴다.
9. cherry-pick
- git cherry-pick : 원하는 커밋을 복사해 붙여넣는 것
10. git tag
- 특정 커밋에다가 어떤 내용을 남기는 것
■REMOTE
1. git clone
- 원격 저장소를 복제하는 것
2. git fetch
- 원격 저장소의 내용을 로컬로 가져오는 것
1. 로컬에 없는 커밋을 다운로드
2. 원격 브랜치를 업데이트
3. git pull
- git fetch + git merge
4. git push
- 로컬 저장소의 내용을 원격으로 보내는 것
1. 원격에 없는 커밋을 업로드
2. 원격 브랜치를 업데이트
5. fakeTeamwork
- git fakeTeamwork [브렌치명] [커밋할 수]
[Github]Pull requests(sub branche -> main branche) (0) | 2022.04.20 |
---|---|
[Git] Commit 메시지 (0) | 2022.04.20 |
[Git] 폴더 및 bash 명령어 (0) | 2022.04.20 |
[GitHub] gitignore C++ --> visual studio 변경하는 방법 (0) | 2022.04.07 |
GitHub_01 (0) | 2022.04.06 |
댓글 영역