[Git & Github] Git 핵심명령어 모음
다시 찾아오면 언제든
기억이 되살아나는
나만의 Git 명령어 창고
.
.
.
.
.
📂 1. Git 저장소 초기화 (git init)
Git 사용의 첫 단계는
작업 폴더 생성 → 이동 → $ git init 실행입니다.
바탕화면에 my-project 폴더를 만든다고 가정하겠습니다.
1) 작업용 폴더 만들기
✔ 방법 A: 마우스로 생성
Windows 탐색기에서 다음 경로로 이동한 뒤
my-project 폴더 생성:
C:\Users\username\Desktop
✔ 방법 B: 명령어로 생성
$ cd /c/Users/username/Desktop
$ mkdir my-project
my-project 폴더가 생성되었습니다.
2) 작업 디렉터리로 이동
$ cd /c/Users/username/Desktop/my-project
3) Git 저장소 초기화
$ git init
Git 저장소가 생성되면 .git 폴더가 내부에 생기고,
이 폴더가 앞으로 모든 버전 이력을 저장하는 공간이 됩니다.
📝 2. 파일 생성 & 내용 작성
사실 이 과정은 Git 자체보다는
단순한 CLI 명령어 사용에 가깝습니다.
하지만 .git 폴더가 존재하는 작업 디렉터리 안에
파일이 새로 생성되면,
Git은 이를 자동으로 변경사항으로 감지합니다.
1) 파일 생성하기
$ touch a.txt
$ git status 를 실행해보면, 새 파일 a.txt가
추적 대상 변경사항으로 표시되는 것을 확인할 수 있습니다.
2) 내용 작성하기
$ echo Hello world! > a.txt
> 는 새로 쓰기, >> 는 이어 쓰기입니다.
📥 3. 변경사항 스테이지에 올리기 (git add)
커밋을 만들기 전에 변경사항을 스테이지(Stage) 에 올리는 과정입니다.
1) 특정 파일만 올리기
$ git add a.txt
2) 모든 변경사항 올리기
$ git add .
가장 자주 사용합니다.
📌 4. 커밋 만들기 (git commit)
Git에서 버전을 생성하는 명령어입니다.
1) 메시지를 바로 입력하는 방식
$ git commit -m "first commit"
2) 제목 + 본문 입력하는 방식 (vi 에디터)
$ git commit
※ vi 에디터 조작법
- i → 입력 모드
- esc → 명령 모드
- :w → 저장
- :q → 종료
- :wq → 저장 후 종료
🔎 5. 커밋 로그 조회 (git log)
기본 로그 조회
$ git log
한 줄로 보기
$ git log --oneline
변경사항까지 보기
$ git log --patch
그래프로 보기 (브랜치 흐름 확인)
$ git log --graph
조합해서 사용 (가장 유용)
$ git log --oneline --graph
🏷 6. 태그(Tag) 관리
태그는 커밋에 붙이는 이름표로, 보통 버전표기에 사용됩니다.
1) 최신 커밋에 태그 붙이기
$ git tag v0.0.1
2) 특정 커밋에 태그 붙이기 (긴 해시)
$ git tag v0.0.2 9ed62d91aadf449f4ab15cd86dec0c16a2510a3d
3) 짧은 해시로 태그 붙이기
$ git tag v0.0.2 9ed62d9
4) 태그 목록 보기
$ git tag
5) 태그 삭제
$ git tag -d v0.0.1
🔍 7. 변경사항 비교하기 (git diff)
1) 워킹 디렉터리 ↔ 최신 커밋 비교
$ git diff
2) 스테이지 ↔ 최신 커밋 비교
$ git diff --staged
또는
$ git diff --cached
3) 커밋 ↔ 커밋 비교
$ git diff <old-commit-hash> <new-commit-hash>
긴 해시도 되고 짧은 해시도 됩니다.
참고)
"git log"로는 긴 커밋해시를 확인할 수 있고
"git log --oneline"으로는 짧은 커밋해시를 확인할 수 있습니다.
※주의) 커밋 해시 순서
" <new-commit-hash> 변경사항은
<old-commit-hash> 변경사항에 비해
~~~이 바뀌었다. "는 의미입니다.
ex)
$ git diff 8787f5b cb9ef15
cb9ef15 커밋은 8787f5b 커밋에 비해 ~~~이 바뀌었다.
8. 작업 되돌리기 (git reset, git restore, git revert)
9. 작업 임시 저장하기 (git stash)
10. 브랜치 관리하기 (git branch, git switch, git merge)
11. Rebase 하기 (git rebase)
12. 원격 저장소와 상호작용 (1) — git clone, git push
13. 원격 저장소와 상호작용 (2) — git fetch, git pull
14. Pull Request 보내기