Hello

git 명령어 요약 및 용어 정리

by 볼빵빵오춘기

Git 명령어 요약

 

  • git init: 현재 디렉토리를 새로운 Git 저장소로 초기화한다. 
git init

  • git add: 변경된 파일을 스테이징 영역에 추가하여 커밋 대상으로 만든다. 

filename.txt 파일을 스테이징 영역에 추가

git add f1.txt

 

모든 변경된 파일을 스테이징 영역에 추가

git add .

  • git status: 현재 작업 디렉토리의 상태(추적되지 않은 파일, 변경사항, 스테이징 상태 등)를 보여준다.
git status

  • git commit: 스테이징 영역에 있는 변경사항을 기록하여 새로운 커밋을 만든다.

스테이징된 변경사항을 "Add Version"라는 메시지와 함께 커밋

git commit -m "Add Version"

  • git config --global user.name 자신의 닉네임: Git의 글로벌 사용자 이름을 설정한다.

글로벌 사용자 이름을 "YourName"으로 설정

git config --global user.name "YourName"

  • git config --global user.email 자신의 이메일: Git의 글로벌 사용자 이메일을 설정한다.

글로벌 사용자 이메일을 "jinny@mail.com"으로 설정

git config --global user.email "jinny@mail.com"

  • git log: 저장소의 커밋 히스토리를 보여준다.
git log

  • git log -p: 커밋 히스토리와 함께 각 커밋의 변경된 내용(diff)을 보여준다.
git log -p

  • git log commit아이디: 특정 커밋아이디부터의 커밋 히스토리를 보여준다.
git log abc1234

  • git diff commit아이디1..commit아이디2: 두 커밋 사이의 차이점을 보여준다.
git diff abc1234..def5678

  • git --help: Git의 명령어 도움말을 보여준다.
git --help

  • git branch: 현재 브랜치 목록을 보여주거나 새로운 브랜치를 생성한다. 

현재 브랜치 목록을 보여줌

git branch

exp라는 이름의 새로운 브랜치를 생성

git branch exp

  • git checkout : 현재 작업 중인 브랜치를 전환한다.

현재 작업 중인 브랜치를 exp 브랜치로 변경

git checkout exp

  • git log --branches: 모든 브랜치의 커밋 로그를 보여준다.
git log --branches

  • git log --branches --decorate: 브랜치 이름과 태그를 포함한 모든 브랜치의 커밋 로그를 보여준다.
git log --branches --decorate

  • git log --branches --decorate --graph: 그래프로 시각화된 브랜치 구조와 커밋 로그를 보여준다.
git log --branches --decorate --graph

  • git log --branches --decorate --graph --oneline: 한 줄 요약으로 그래프로 시각화된 브랜치 구조와 커밋 로그를 보여준다.
git log --branches --decorate --graph --oneline

  • git log 브랜치명1..브랜치명2: 브랜치명1 브랜치에는 없고 브랜치명2 브랜치에만 있는 커밋들을 보여준다.

main 브랜치에는 없고 exp 브랜치에만 있는 커밋들을 보여줌

git log main..exp

  • git log -p 브랜치명1..브랜치명2: 브랜치명1 브랜치에는 없고 브랜치명2 브랜치에만 있는 커밋의 변경 내역(diff)을 보여준다.

exp 브랜치에는 없고 main 브랜치에만 있는 커밋의 변경 내역(diff)을 보여줌

git log -p exp..main

  • git diff 브랜치명1..브랜치명2: 브랜치명1 브랜치와 브랜치명2 브랜치 사이의 차이점을 보여준다.

main 브랜치와 exp 브랜치 사이의 차이점을 보여줌

git diff main..exp

  • git branch -d 브랜치명1: 브랜치명1 브랜치를 삭제한다.

exp 브랜치를 삭제

git branch -d exp

  • git stash: 현재 작업 상태를 임시 저장소에 저장하고, 작업 디렉토리를 깨끗하게 만든다.
git stash

  • git stash apply: 저장한 임시 저장소의 변경사항을 다시 적용한다.
git stash apply

  • git stash drop: 특정 임시 저장소 항목을 삭제한다.
git stash drop

  • git stash list: 저장한 임시 저장소 항목들의 목록을 보여준다.
git stash list

  • git stash pop: 저장한 임시 저장소의 변경사항을 적용하고, 적용한 항목을 삭제한다.
git stash pop

  • git merge: 두 브랜치를 병합하여 하나의 브랜치로 만든다.

현재 브랜치에 merge-branch를 병합

git merge merge-branch

  • git rebase: 브랜치의 커밋을 다른 브랜치의 커밋 위로 재배치하여 깔끔한 히스토리를 만든다.
git merge feature-branch

  • git reset: 특정 커밋으로 이동하여, 이후의 변경사항을 되돌리거나 스테이징 상태를 수정한다.
    • 옵션
    • --mixed (기본 옵션) : 스테이징 영역을 지정된 커밋 상태로 재설정하지만, 워킹 디렉토리의 변경사항은 그대로 남겨둔다.
      즉, 파일의 변경 내용은 남아 있지만, Git이 추적하지 않게 된다.
    • --soft : 스테이징 영역과 작업 디렉토리의 변경사항을 유지한 채 커밋만 되돌린다.
      즉, 커밋만 취소하고 변경사항은 스테이징 영역에 그대로 남겨둔다.
    • --hard : 스테이징 영역과 작업 디렉토리의 모든 변경사항을 삭제하여 지정된 커밋 상태로 완전히 되돌린다.
      이 옵션은 되돌린 변경사항을 복구할 수 없다.

마지막 커밋을 제거하고, 작업 디렉토리를 해당 커밋 이전 상태로 되돌린다.

git reset --hard HEAD~1

abc1234라는 커밋 ID로 이동, git reset 명령어 옵션을 넣지않으면 디폴트로 --mixed

git reset abc1234

  • git revert: 특정 커밋의 변경사항을 취소하는 새로운 커밋을 만든다.

커밋 abc1234의 변경사항을 취소하는 새로운 커밋을 만듦

git revert abc1234

 

Git 용어 정리

  • commit message : 커밋을 설명하는 메세지로, 변경 사항과 그 이유를 간단하게 기록한다. 
  • version : 특정 시점의 파일 상태를 의미하며, Git에서는 커밋을 통해 버전을 관리한다. 
  • Working Directory : 실제 작업을 진행하는 공간으로, 파일 수정과 같은 작업을 하는 곳이다. 
  • Index(=Staging Area ): git add 명령어를 사용하여 변경사항을 임시로 저장하는 공간이다. 커밋전에 파일들이 추가되는 곳이다. 
  • Repository : 실제로 커밋들이 저장되는 장소로, 파일의 버전을 관리한다. 
  • push : 지역 저장소의 소스를 원격 저장소로 올리는 것이다. 
  • pull : 원격 저장소에서 지역 저장소로 내려받는 것이다.

'👩🏻‍💻 About 프로그래밍 > git' 카테고리의 다른 글

깃 프로그램  (0) 2024.08.29
Git vs Github  (0) 2024.08.29
git 동기화 방법  (0) 2024.08.28
원격저장소 만들기  (0) 2024.08.28
github 소개  (0) 2024.08.28

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기