상세 컨텐츠

본문 제목

[Git] 개념 및 명령어 사용법

GitHub

by simstealer 2022. 4. 18. 22:14

본문

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 (인터렉티브 리베이스)

- 브랜치 복사

-i 를 사용 했을 경우

$ git rebase -i HEAD~4 를 해석하면, HEAD(*) 위치에서 4단계 전(C1)에 복사해라

 

5. HEAD

- * : 위치한 곳에 HEAD가 숨어 있다.

 

6. 상대 참조

 

HEAD : 현재 작업 중인 버전

^ : 특정 커밋의 부모 (^2 : 두번째 부모)

~ : 특정 커밋으로부터 어떤 수만큼 떨어진 부모

 

~ 사용법
^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

C2와 C3를 clone에서 다운 받아온 이미지

- 원격 저장소의 내용을 로컬로 가져오는 것

    1. 로컬에 없는 커밋을 다운로드

    2. 원격 브랜치를 업데이트

 

3. git pull

 

- git fetch + git merge

 

4. git push 

C2를 원격지에서 로컬로 가져옴

- 로컬 저장소의 내용을 원격으로 보내는 것

    1. 원격에 없는 커밋을 업로드

    2. 원격 브랜치를 업데이트

 

5. fakeTeamwork

- git fakeTeamwork [브렌치명] [커밋할 수]

 

 

'GitHub' 카테고리의 다른 글

[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

관련글 더보기

댓글 영역