본문 바로가기

Study/TIPS

[깃, 깃허브] 깃(Git) 사용법 (w. 얄팍한 코딩사전)

반응형

깃을 사용하는 방법으로는 크게 두 가지가 있다.

바로 CLI와 GUI이다.

 

우선 깃을 사용하기 위한 준비 작업을 마친 후 시작하자.

 

1. 원하는 위치에 프로젝트를 진행할 폴더를 만든다.

2. 그 폴더를 vsc로 연다.

 

 

# GUI로 만들어진 소프트웨어 SourceTree 사용하기 --> Github desktop을 다룰 예정

# CLI로 명령어 입력하기

:Command Line Interface

 

0. vsc에서 ctrl+` 단축키로 터미널을 연다.

이렇게 하면 직접 입력하지 않고도 현재 폴더로 이동할 수 있다.

 

1. 깃 저장소 만들기

git init

이 폴더가 깃의 관리 하에 들어간 것이다.

 

2. 현재 시점을 저장하기

지금 이 순간을 타임캡슐에 묻어두는 과정.

 

git status

담을 게 뭐가 있는지 알 수 있다. 

 

git add -A

이 곳의 모든 것을 git의 타임캡슐에 넣는 것이다.

깃 용어로 stage한다고 한다.

 

- Untracted files -> add 전

- Changes to be committed -> add 후. commit 해야 할 것들

 

git commit -m "(설명)"

(설명) 메세지로 커밋한다.

 

- nothing to commit, working tree clean -> 모두 commit 되어 묻을 게 없다.

 

git log

지금까지의 기록 확인 가능

 

 

3.1 과거로 돌아가기 - Reset

돌아갈 과거 이후의 행적은 복원할 여지 없이 완전히 지운다.

git log로 확인했을 때 흔적이 없다.

 

git reset (일련번호 6자리)--hard

복원하고 싶은 지점의 일련번호 앞 6자리만 복사하여 붙여넣기 한다.

 

 

3.2 과거로 돌아가기 - Revert

미래에 한 발을 거치고 과거로 가는 법. 취소할 시점.

git log로 확인했을 때 흔적이 있다.

 

git revert (일련번호 6자리)

:wq -> 그대로 저장하겠다는 vi 명령어

 

 

4. 평행우주 넘나들기 - Branch

git branch my-idea

다른 평행우주 만들어 넘어간다.

현 시점에서 두 미래로 분기하겠다는 의미.

분기하기 전 원 branch 파일을 그대로 가져간다.

 

git branch

현재 branch 상태를 확인할 수 있다.

 

git checkout my-idea

my-idea branch로 넘어간다.

 

git checkout master

master branch로 넘어간다.

 

 

 

5.1 다른 우주에서 가져오기 - Merge(병합)

파생된 브랜치의 변화를 master 브랜치로 가져와 보자.

 

git checkout master

git merge my-another-idea(불러올 대상)

 

 

git log --graph --all --decorate

시각화된 두 분기에서의 작업내역을 볼 수 있다.

 

 

 

※ Conflict

두 브랜치 모두에서 같은 파일, 같은 부분에 수정을 가했을 때

병합 시에 conflict가 발생한다.

 

이 때는 git이 자동 add를 거부하여 메세지가 뜬다.

이를 해결해야 작업을 진행할 수 있다.

 

한 쪽을 수정해서 git add -A -> git commit -> :wq 로 merge를 완료할 수 있다. 

 

이는 해결이 피곤하므로 가능한 다른 브랜치들이 같은 파일을 수정하는 일을 피하는 것이 낫다.

 

 

5.2 다른 우주에서 가져오기 - Rebase(재배치)

변경 내용들이 한 줄로 딱 정리되면 좋겠을 때

 

 

git branch -D my-idea(브랜치명)

명령어를 이용해 branch를 삭제할 수 있다.

반응형