[Git] git 기초 명령어

개요

어제 아찔한 일이 있었다. 브랜치를 잘못 날렸다가 소스를 통으로 날린 것이다. master 노드에 push했다고 생각했는데 아니었나 봐… 소스 트리(Source Tree)를 주로 사용하나, 복구하기 위해서는 터미널을 사용해야 했다.

뭐, 그렇다. 언젠가 또 터미널을 쓸 날이 올 테니까! 정리하는 게 맞겠지! (물론 구글링하면 바로 나오긴 함.)


저장소 받아오기(clone)

clone을 원하는 경로에서 명령어를 실행해야 한다.

1
2
3
4
5
6
7
8
# 로컬 저장소 복제
git clone /로컬/저장소/경로

# 원격 서버 저장소 복제
git clone 사용자명@호스트:/원격/저장소/경로

# github 레지스토리에서 복제
git clone <url>

변경된 내용 추가하기(add)

1
2
3
4
5
# 원하는 파일만 추가
git add <파일 이름>

# 모든 파일 추가
git add *

Commit하기

1
git commit -m "이번 확정본에 대한 설명"

Push하기

1
2
3
4
5
6
7
8
9
10
# master node에 push
git push origin master

# 다른 node(branch)에 push
git push origin <branch 이름>

# 원격 저장소에서 복제한 게 아닌
# 로컬 저장소에서 원격 저장소로 올리는 경우
# 다음의 명령어 먼저 실행하고 push해야 한다.
git remote add origin <원격 서버 주소>

Branch 생성

1
2
3
4
5
6
7
8
9
10
11
# 'd2fault'라는 이름의 브랜치 생성
git checkout -b d2fault

# 'master' 가지로 돌아오기
git checkout master

# 브랜치 삭제하기
git branch -d feature_x

# 원격 저장소로 전송하기 전에는 아무도 가지에 접근할 수 없다.
git push origin <가지 이름>

갱신과 병합(merge)

1
2
3
4
5
6
7
8
# 로컬 저장소를 원격 저장소에 맞춰 갱신하기
git pull

# 다른 가지의 변경 내용을 현재 가지에 병합하기
git merge <가지 이름>

# 병합 전 변경 내용 확인
git diff <원래 가지> <비교 대상 가지>

로컬 내용 되돌리기

1
2
3
4
5
6
7
# 로컬의 내용을 변경 전 상태(HEAD)로 되돌림
git checkout -- <파일 이름>

# 로컬의 모든 내용을 포기하고
# 원격 저장소의 내용으로 복구하기
git fetch origin
git reset --hard origin/master

Share