git add .
명령어로 수정 파일을 Staging area로 이동시켰는데, 불필요한 파일들도 함께 Staging 영역으로 이동되어 곤란할 때가 있습니다.
이 때 git reset HEAD -- [file name]
명령어를 이용하여 Staging 영역에 있는 파일을 Unstaging 또는 Untracked 상태로 변경하여 commit 대상에서 제외시킬 수 있습니다.
Example
aaa.java
만 commit하려고 했는데, 실수로 bbb.java
파일도 Staging 영역에 포함되었습니다.
$ git add .
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: aaa.java
new file: bbb.java
Staged 파일을 Untracked/Unstaged 상태로 변경 : git reset HEAD -- [file name]
git reset HEAD -- [file name]
명령어로 bbb.java
파일을 Untracked로 변경하였습니다.
$ git reset HEAD -- bbb.java
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: aaa.java
Untracked files:
(use "git add <file>..." to include in what will be committed)
bbb.java
만약
bbb.java
가 이전에 git에 반영된 파일이라면 Unstaging 상태로 변경되며, 수정 내용은 삭제되지 않고 남아있게 됩니다.git diff
명령어 입력 시, 수정사항이 남아있는 것을 볼 수 있습니다.
Commit을 하고 git log
를 확인하면, bbb.java
는 untracked 상태이고, aaa.java
파일만 반영된 것을 확인할 수 있습니다.
$ git commit -m "4th commit"
[master 2cfe425] 4th commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 aaa.java
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
bbb.java
nothing added to commit but untracked files present (use "git add" to track)
$ git log --name-only
commit 2cfe42512c94252f4c8f00ddc894867eb26a936f (HEAD -> master)
Author: JS <farfs.dev@gmail.com>
Date: Sat Jun 19 10:21:33 2021 +0900
4th commit
aaa.java
Loading script...
Related Posts
- GitHub에 ssh-key 등록 방법 (Windows10)
- git log - 특정 author의 commit 리스트만 출력
- git log - commit 리스트 간단하게 출력 (pretty)
- Git - revert 명령어(commit 되돌리기)
- git diff 명령어로 파일 변경 내용 확인
- git show 명령어로 commit 정보 확인
- Git - 브랜치 생성, 삭제, 체크아웃
- Git - 원격 저장소(remote) 등록, 해제
- Git - Staging area에 있는 파일 제거
- Git - commit log에서 수정된 파일 목록 보기
- Git - 마지막 commit 수정, 삭제 방법 (reset, ammend 명령어)
- git commit message 에디터 변경 (Vim, Sublime, Atom, VSCode)
- Git - blame 명령어, 코드 수정한 사람과 Commit 찾기
- Git - Patch 만들기 & 적용하기