
지난 포스팅이
git init, git status, git add, git commit, git log 로
Git 저장소 설정과 상태확인, 스테이징영역 내 파일 추가,
변경사항을 기록 및 이력확인을 위한 가장 기본적인 git 명령어였다고 생각한다.
[Git] Git 버전관리의 시작, Git 명령어
오늘은 Git 사용을 위한간단한 Git 명령어들을 정리해 볼 예정이다. [Git] Git의 상태와 영역Git은 세 가지 영역으로 나뉘게 된다.1. Working Directory (작업 디렉토리) · 작업 디렉토리는 우리가 실제로
seon-xero.tistory.com
오늘도 지난시간에 이어서 Git 명령어들을 작성해볼까 한다.
- Git Restore
- Git Reset
- Git Branch
- Git Switch
- Git Checkout
🔥Git Restore
- git restore 은 Git에서 작업한 내용을 되돌리는 명령어
- 스테이징 영역이나 작업디렉토리에서 수정한 파일을 복구할 때 사용
git restore <파일명> # <파일명>을 마지막 커밋한 상태로 돌림 [작업디렉토리]
git restore --staged <파일명> # 스테이징 영역에 추가된 파일을 스테이징 영역에서 제거 [스테이징영역]
git restore . # 현재 디렉토리 내 수정된 모든 파일을 되돌림


- (좌) 작업 시작 전 최종 커밋상태
- (우) 최종 커밋상태로부터 문서 수정 및 git add를 통해 스테이징영역 내 파일 추가
1️⃣ git restore --staged : 스테이징 영역에 있는 파일(git add된)을 제거
- git add 된 내역은 남아있음
git restore --staged <파일명>

2️⃣ git restore
- 워킹디렉토리 영역에 있는 수정된 파일을 마지막커밋 상태로 되돌림
git restore <파일명>

🔥Git Reset
- git reset은 특정 커밋으로 이동하면서 변경 사항을 되돌리는 명령어
- 옵션별 동작 방식
1) soft : 커밋만 취소, 변경 사항은 그대로 유지
2) mixed : 커밋 + 스테이징 영역 초기화 (작업 디렉토리는 유지)
3) hard : 커밋 + 스테이징 영역 + 작업 디렉토리 변경 사항 모두 삭제
git reset --soft HEAD~1 # 마지막 커밋 취소 (변경 사항 유지) * 파일변경 및 git add 는 유지
git reset --mixed HEAD~1 # 마지막 커밋 + 스테이징 영역 초기화 * 파일변경사항은 유지
git reset --hard HEAD~1 # 마지막 커밋 + 스테이징 영역 + 작업 디렉토리 초기화 *파일변경사항삭제`
#HEAD~N : N은 숫자임에따라 커밋취소 위치조정가능
1️⃣ git reset --soft HEAD~1: 커밋내역 취소(파일변경 및 git add유지)

2️⃣ git reset --mixed HEAD~1: 커밋내역 취소 및 스테이징영역 초기화(파일변경 유지)

3️⃣ git reset --hard HEAD~1: 커밋내역 취소 및 스테이징영역, 워킹디렉토리 초기화(파일변경삭제)

🔥Git Branch
- git branch는 새로운 브랜치를 생성하고 관리하는 명령어
- 기본브랜치가 master 또는 main으로 설정되어 있다.
git branch <브랜치명> # 새로운 브랜치 생성
git branch # 현재 존재하는 브랜치 목록 확인
git branch -d <브랜치명> # 브랜치 삭제

🔥Git Switch
- git switch는 브랜치를 변경하는 명령어 (checkout의 일부 기능 대체)
git switch <브랜치명> # 해당 브랜치로 이동
git switch -c <새로운 브랜치명> # 새로운 브랜치 생성 후 이동

🔥Git Chekout
- git checkout은 브랜치를 변경하거나 특정 커밋으로 이동하는 명령어
- 현재는 git switch와 git restore로 기능이 분리됨
git checkout <브랜치명> # 해당 브랜치로 이동
git checkout -b <새로운 브랜치명> # 새로운 브랜치 생성 후 이동
git checkout <커밋 해시> # 특정 커밋으로 이동

'Setting > Git' 카테고리의 다른 글
[Git] Git 버전관리의 시작, Git 명령어 (0) | 2025.02.12 |
---|---|
[Git] Git의 상태와 영역 (0) | 2025.02.11 |
[Git] 분산형 버전 관리 시스템이란? Git이란? (0) | 2025.02.11 |