개발 Git Git 소개 및 기본 명령어
포스트
취소

Git 소개 및 기본 명령어

Git은 현존 최고의 버전컨트롤 방식이다!

💡 깃은 형상 관리 도구(Configuration Management Tool)이자
소스 제어 관리 도구 (Source-control management Tool)입니다.

  • 파일 변화를 시간에 따라 기록 → 원할 때 꺼내서 사용

진짜 최종의…최종..

  • Jira 등의 소프트웨어를 제공하는 Atlassian 공식, 왜 Git을 써야하는가? Why Git | Atlassian Git Tutorial
    • 기능 분기 워크플로
    • 분산 개발
      • SVN은 개별 개발자만의 개발 이력 X
    • 풀 리퀘스트
    • 지역사회 - 이미 깃은 널리 알려짐
    • 빠른 릴리즈 - 모놀리식 릴리즈보다 빠른 마이크로서비스 릴리즈가 가능함

명령어의 중요성

💡 현업에선 GUI도 많이 쓰지만 Git Bash 명령어를 모르고 쓰는 경력자 분들은 없습니다.

모든 명령어를 사용 방법까지 하나하나 알고 있을 필요 X

→ 어떤 명령이 있는지, 어떤 상황에서 어떤 방식을 쓸 수 있는지 이해하는 것이 중요합니다

주요 명령어 모음

설정 및 초기화

  1. 전역 사용자명/이메일 구성하기
1
2
3
$ git config - -global user.name “Your name”

$ git config - -global user.email “Your email address”
  1. 저장소별 사용자/이메일 구성
1
2
3
$ git config user.name “Your name”

$ git config user.email “Your email address”
  1. 각종 조회
1
2
3
4
# 전역 설정 정보 조회
$ git config - -global - -list
# 저장소별 설정 정보 조회
$ git config - -list
  1. 새로운 저장소 초기화 또는 복제
1
2
3
4
5
6
7
# 초기화
$ mkdir /path/newDir
$ cd /path/newDir
$ git init

# 저장소 복제. []는 생략 가능-현재 위치로 복제
$ git clone <저장소 url> [폴더 위치]

기본 사용법

1
2
3
4
5
6
7
8
9
# 파일 스테이징 및 커밋
$ git add <파일>
$ git commit -m "<메시지>"

# 파일 일부 스테이징
$ git add -p <파일> [파일...]

# 대화 모드로 파일 추가
git add -i

브랜치 관련 명령

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 로컬(지역) 브랜치 목록 보기
$ git branch

# 리모트(원격) 브랜치 목록 보기
$ git branch -r

# 모든 브랜치 목록 보기
$ git branch -a

# 현재 브랜치에서 새로운 브랜치 생성
$ git branch <새로운 브랜치 명>

# 브랜치 체크아웃
$ git checkout <브랜치명>

# 다른 브랜치를 현재 브랜치로 병합
$ git merge <브랜치>

# 커밋 일부만 가져와서 합치기 e.g. $ git cherry-pick 76ae30ef
$ git cherry-pick <커밋해시>

# 브랜치 삭제
$ git branch -d <삭제할 브랜치명>

저장소 관련 명령

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 새로운 원격 저장소 추가
$ git remote add <저장소명> <저장소 url>

# 모든 원격 브랜치 목록 보기
$ git branch -r

# 병합 없이 원격저장소의 변경사항을 로컬 브랜치로 가져오기
# 직접 병합 작업을 해야함, <저장소명>은 보통 orgin
$ git fetch [<저장소명> <브랜치명>]

# 자동 병합작업을 거쳐 로컬 브랜치와 합침
# git feth + git merge와 같음
$ git pull [<저장소명> <브랜치명>]

# 원격 저장소의 브랜치에 변경사항 반영
$ git push <저장소명> <브랜치명>

참고 자료

Reference

마무리

저는 Git을 쓸 때 과거엔 깃크라켄을 쓰긴 했지만 요즘은 IDE에 포함되는 확장이나 기능을 사용하면서 추가로 콘솔 명령을 사용하는 것이 더 좋더라구요.
깃 활용은 귀찮지만서도 꼭 해야 하는 작업이죠… 🥲

앞으로도 좋은 개발자가 되기 위해 귀찮아도 제 양식이 된다 생각하고 시간을 투자하려고 합니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Git mirror, 원격저장소에 미러링 하는 법

Jekyll 블로그 팁, 나의 Github Blog 변천사