본문 바로가기
개발/Git

git 기본 명령어들

by 아르카눔 2025. 3. 26.

GitHub 기본 명령어

GitHub은 분산 버전 관리 시스템 (DVCS, Distributed Version Control System) 웹서비스입니다.

 

1. 저장소 관련 명령어

  • git init: 현재 디렉토리를 Git 저장소로 초기화합니다.
  • git clone [저장소 URL]: 원격 저장소의 내용을 로컬 디렉토리로 복제합니다.
  • git remote add origin [원격 저장소 URL]: 로컬 저장소에 원격 저장소의 URL을 등록합니다.
  • git remote -v: 등록된 원격 저장소 목록을 확인합니다.

 

2. 파일 상태 관련 명령어 (Track, Commit, Log)

  • git status: 파일의 변경 상태를 확인합니다.
  • git add [파일 이름]: 변경된 파일을 스테이징 영역에 추가합니다.
  • git add . : 모든 변경된 파일을 스테이징 영역에 추가합니다.
  • git commit -m "[커밋 메시지]": 스테이징 영역의 변경 내용을 커밋합니다.
  • git restore --staged [파일 이름] : 스테이징한 특정 파일을 취소합니다. 
  • git restore --staged . : 스테이징한 모든 파일을 취소합니다. 
  • git log: 커밋 기록을 확인합니다.
  • git diff [파일 이름]: 파일의 변경 내용을 확인합니다.
  • git diff [브랜치 A]: 현재 브랜치와 브랜치 A의 내용을 비교합니다.
  • git show: 현재 브랜치의 최신 버젼을 보여줍니다. 

 

3. 브랜치 관련 명령어

  • git branch: 로컬 브랜치 목록을 확인합니다.
  • git branch -r: 원격 브랜치 목록을 확인합니다.
  • git branch -a: 로컬 및 원격 브랜치 목록을 모두 확인합니다.
  • git branch -m [새로운 브랜치 이름]: 현재 브랜치의 이름을 변경합니다. 
  • git branch [새 브랜치 이름]: 새 브랜치를 생성합니다.
  • git checkout [브랜치 이름]: 특정 브랜치로 이동합니다.
  • git checkout -b [브랜치 이름]: 특정 브랜치를 생성한 다음 이동합니다.
  • git switch [브랜치 이름]: 특정 브랜치로 이동합니다.
  • git switch -c [브랜치 이름]: 특정 브랜치를 생성한 다음 이동합니다.
  • git branch -d [삭제할 브랜치 이름]: 브랜치를 삭제합니다.
  • git merge [병합할 브랜치 이름]: 현재 브랜치에 다른 브랜치의 변경 내용을 병합. 가령 로컬에서 dev에서 한 작업을 로컬 main으로 병합하는 작업이다. git switch main으로 main 브랜치로 이동후 병합할 브랜치를 선택해서 git merge dev 실행. 
  • git config --global init.defaultBranch main: 기본 설정 branch 이름은 master 대신 main으로 설정 
  • git config --get init.defaultBranch: 기본 설정 branch 이름 확인

 

4. 원격 저장소 관련 명령어 (Push, Pull, Fetch)

  • git push [원격 이름] [브랜치 이름]: 로컬 브랜치의 변경 내용을 원격 저장소에 업로드합니다.
  • git push -f [원격 이름] [브랜치 이름]: 로컬 브랜치의 변경 내용을 원격 저장소에 충돌을 무시하고 덮어쓰기하는 방식으로 업로드합니다.
  • git pull [원격 이름] [브랜치 이름]: 원격 저장소의 변경 내용을 로컬 브랜치에 다운로드 및 병합합니다.
  • git pull --rebase [원격 이름] [브랜치 이름]: 원격 저장소의 변경 내용을 로컬 브랜치에 다운로드 및 덮어씁니다.
  • git fetch [원격 이름]: 원격 저장소의 변경 내용을 로컬로 다운로드하지만, 자동으로 병합하지는 않습니다.

 

5. 버젼 및 릴리즈 관리

  • git tag : 현재 저장소의 태그 목록 확인
  • git tag v1.0.0: 현재 커밋에 lightweight tag 생성
  • git tag -a v1.0.0 -m "Release v1.0.0" : 주석이 포함된 annnotated tag 생성 
  • git show v1.0.0: 해당 태그의 커밋과 변경 사항 보기
  • git tag -d v1.0.0: 로컬 태크 삭세
  • git ls-remote --tags origin: 원격 저장소의 태그 목록 가져오기 
  • git push origin v1.0.0: 원격 저장소에 해당 태그인 v1.0.0을 푸시. 일반적인 git push와 다른 태그 푸시.  
  • git push origin --tags: 로컬의 모든 태그를 원격 저장소로 푸시. 일반적인 git push와 다른 태그 푸쉬.  
  • git release list: 릴리즈 기준의 태그 확인 
  • git checkout -b release/1.0.0 develop: 릴리즈 브랜치 생성 

 

 

6. 기타 유용한 명령어

  • git restore . : 모든 파일을 롤백합니다. 
  • git reset --hard [커밋 해시]: 특정 커밋으로 되돌립니다. (주의: 되돌린 이후의 변경 사항은 모두 삭제됩니다.)
    특정 버젼으로 되돌아간 다음, 해당 특정 버젼 이후의 변화는 모두 삭제합니다. 
  • git stash: 변경 내용을 임시로 저장합니다.
  • git stash list: 임시 저장한 내용을 확인합니다. 
  • git stash pop: 임시 저장된 변경 내용을 다시 적용합니다.

 

 

Git Cheat Sheet : 링크

 

 

 

References:

https://www.heropy.dev/p/PcUkdT

https://git-scm.com/docs

https://education.github.com/git-cheat-sheet-education.pdf
https://github.com/education

https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B8%8C%EB%9E%9C%EC%B9%98%EC%99%80-Merge-%EC%9D%98-%EA%B8%B0%EC%B4%88

https://error-note.tistory.com/24

https://velog.io/@jihoon135/Git-branch-merge-%EC%A2%85%EB%A5%98%EC%99%80-%ED%8A%B9%EC%A7%95

https://velog.io/@wlduq0150/GIT-%EB%A1%9C%EC%BB%AC%EC%A0%80%EC%9E%A5%EC%86%8C%EC%9D%98-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EB%B3%91%ED%95%A9

 

 

'개발 > Git' 카테고리의 다른 글

Git과 버젼 관리 리서치  (1) 2025.06.15
gitignore 사용법  (0) 2024.10.29