본문 바로가기
코딩log

내가 보려고 작성한 초간단 Git 기초 명령어 정리

by 벨크 2023. 4. 9.
반응형

 

Git 명령어 정리

 

Git

  Git은 형상관리, 버전관리 도구이다. 또한 협업을 위한 도구이기도 하다.

버전 관리를 위한 Git은 크게 3가지 공간으로 나뉜다.

 

Git의 공간

Git 저장소 만들기 및 기초 명령어

 

  • git init: 기존 프로젝트를 Git으로 관리하고 싶을 때 프로젝의 디렉터리로 이동해서 쓰는 명령어이다. ".git"이라는 하위 디렉터리를 만들고 해당 디렉터리를 Working Directory로 만든다.
  • git add: 파일을 새로 추적할 때 사용하는 명령어. Working Directory에 있는 수정사항을 Staging Area로 넘겨서 추적 관리한다.
  • git commit: Staging Area에서 관리하고 있던 파일을 Repository로 넘긴다. 공식적으로 버전이 하나 올라가는 것이다. -a 옵션으로 Staging Area를 생략하고 Working Directory에서 바로 Repository로 commit 할 수도 있다.
  • git status: Git으로 관리하고 있는 디렉터리의 상태를 확인한다. 수정사항이 있는지 tracked(추적)되고 있는 파일이 몇 개나 있는지 등이 나타난다.
  • git log: 저장소의 커밋 히스토리를 시간순으로 보여준다. -p  옵션을 사용하면 각 커밋의 diff 결과를 보여준다.

git log -p
git log -p 결과

 

이전 버전으로 되돌리는 명령어

 

  git commit을 통해 Repository로 버전을 올렸으면 이전 버전으로 되돌리는 명령어를 알아보자. 이전 버전으로 돌리는 명령어의 기본은 git reset이라는 명령어다.

 

  • git reset: git으로 관리하고 있는 버전을 과거의 버전으로 되돌린다.

git reset으로 버전을 돌리는 옵션은 크게 3가지가 있다. 각각 옵션에 따라서 어느 레벨까지 버전을 되돌릴지 결정할 수 있다.

 

  • --soft : 커밋(Repository) 버전만 되돌린다.
  • --mixed: Repository와 Staging Area의 버전까지 되돌린다.
  • --hard: Repository, Staging Area와 Working Directory의 버전까지 되돌린다.

git reset을 사용하는 기본적인 방법은 아래 그림과 같다.

git rest 기본 형태
git reset의 기본 형태

  위의 명령은 HEAD 버전으로 부터 2단계 이전 버전으로 Workding Directory까지 되돌린다.

 

Branch

 

  여러 명의 개발자가 하나의 프로젝트에서 서로 다른 작업을 할 때, Branch를 생성시키고 합친다. Branch 관련 명령어는 다음과 같다.

  • git branch branch_name: branch_name이라는 branch를 생성시킨다.
  • git checkout branch_name: branch_name이라는 branch로 이동한다.
  • git merge branch_name: branch_name이라는 branch를 현재 branch로 Merge 한다.

 

Github를 통한 협업

 

  Github는 협업을 위한 원격 Repository를 제공해 주는 서비스이다. 원격 Repository를 사용하기 위한 명령어들은 다음과 같다.

 

  • git remote: 원격 Repository를 연결하거나 상태를 확인한다.
  • git push: Local Repository의 commit을 원격 Repository에 밀어 넣는다.
  • git pull: 원격 Repository에 있는 버전을 Local Repository로 Merge 한다.
  • git fetch: 원격 Repository를 fetch HEAD라는 가상 Local공간에 내려받는다.(이때, Merge는 하지 않고, fetch Head라는 Branch를 생성하여 내려받는다.)
  • git clone: 원격 repository를 Local에 복사한다.

 

  Github를 통해서 여러 명의 개발자들과 협업을 하게 되면 서로 같은 파일을 다르게 수정하여 버전이 충돌 나거나 장애가 발생할 수 있다. 그래서 보통 Pull Request를 통해 협업을 한다. Pull Request를 할 경우 해당 수정내용을 Repository의 참여자들의 동의를 받아 버전을 올릴 수 있게 된다. Pull Request를 통한 협업을 하는 순서는 다음과 같다.

 

  1. 작업대상 Repository를 내 계정으로 fork 한다.
  2. fork 한 Repository를 Local에 Clone 한다.
  3. branch를 생성해서 작업한 후 Push 한다.
  4. Pull Request를 올린다.
  5. 프로그램이 Merge 되면 Branch를 삭제한다.

 

반응형

댓글