git에 commit 후 원격 저장소에 push 하려고 했는데, 잘못해서 gitignore를 설정하지 않는 바람에 metadata 파일이 모두 커밋된 상태라 staged 상태와 commit 을 취소하려고 사용하였습니다.
git bash 사용하였습니다. (커밋할 폴더 우클릭 -> git bash here)
1. Git add 취소하기
$ git reset HEAD [파일명]
git add * 를 통해 staged 상태였던 파일이, git reset HEAD 명령어를 통해 unstaged 상태로 돌아옵니다.
특정 파일 지정이 아닌, 모든 파일을 unstaged 상태로 바꾸고 싶으면 파일명은 제외합니다.
2. Git commit 취소하기
1) git commit -m "커밋 메세지"를 통해 commit 한 내역만 삭제하고, 그대로 staged 상태를 유지하고 싶을 때
$ git reset --soft HEAD^
2) git commit 내역 삭제와 함께 파일을 unstaged 상태로 되돌리고 싶을 때
$ git reset HEAD^ / git reset --mixed HEAD^
$ git reset HEAD~n // 마지막으로 커밋한 n개 삭제 : ex) 2면 2개 삭제
설정 후 git log로 커밋목록을 보면, 해당 커밋이 삭제된 것을 확인할 수 있습니다.
3. .gitignore 파일 추가하기
1) .gitignore 파일을 생성합니다.
$ vi .gitignore
2) www.toptal.com/developers/gitignore 에서 .gitignore에 포함될 키워드를 검색하여, 해당 프로젝트와 관련된 키워드를 입력 후 생성하여 얻은 텍스트를 복사해 옵니다.
ex) eclipse 를 통한 java 기반 프로젝트를 개발 중이면, eclipse와 java를 검색 후 추가합니다.
이에 대한 meta 데이터와 깃에 올라가지 않아도 될 설정 파일들이 제외됩니다.
3) vi 에디터 사용(i 를 통해 insert, 텍스트 입력 모드로 변경)
$ i
4) 복사한 gitignore 텍스트를 붙여넣습니다.
5) 저장 후 종료(유닉스 커맨드라인 명령어 - vi에디터 사용합니다.)
$ ctrl + shift + ; 단축키 입력 후 wq!
저장 후, git에 stage 하고 commit 될때 .gitignore에서 설정한 파일이 제외하고 commit 됩니다.
'IT > Windows' 카테고리의 다른 글
[Windows] 윈도우 .bat 파일(배치 파일) 자동 실행 등록 하기 (0) | 2021.10.24 |
---|---|
[Windows] 윈도우 서비스 등록, 프로그램 자동 실행 등록 (0) | 2021.10.24 |