코규리
article thumbnail

그니까 진짜 내말이. 잠온다

 

최신수정일 22.02.14

 

왜 명령어를 다시 정리하냐면.

실무와 팀프로젝트에서 본격적으로 깃을 통한 협업이 들어가는데 개인 레포지토리를 관리할 때랑은 알아야 할-자주 쓸 명령어가 따로있다. 따라서 경험상 필수적인 명령어 위주로 나 좋으라고 다시 정리한다.

지속적으로 추가 예정

 

진짜 완전 기본 명령어

명령어 설명
$ git clone [원격/로컬 경로] 작업할 레포지토리 이리와라, (origin이란 리모트 저장소 자동 등록)
$ git add [파일경로] - [파일경로]에 해당하는 [변경파일]만 스테이징
$ git add . - 모든 [변경파일]을 스테이징
$ git commit -m "[메시지내용]" 커밋 생성, 커밋내용 확정
$ git push 커밋 전송

 

더 디테일한 기본 명령어

명령어 설명
$ git commit -m "[메시지]" --amend 마지막 커밋 내용 수정
   
   

 

브랜치 관련 명령어

명령어 설명
$ git branch 로컬저장소의 브랜치 목록 보기
$ git branch [브랜치 이름] [브랜치이름] 생성
$ git checkout [브랜치 이름] [브랜치이름]으로 이동
$ git checkout -b [브랜치 이름] [브랜치이름] 생성과 동시에 이동
$ git branch -d [브랜치 이름] [브랜치이름] 삭제, 삭제할 브랜치가 현재 브랜치에 Merge되었을 때만
$ git branch -D [브랜치 이름] [브랜치이름] 삭제, merge 여부 상관없이
$ git push origin [브랜치 이름] 만든 브랜치를 원격 저장소에 전송 || [브랜치이름]에 커밋 전송
$ git merge [브랜치 이름] [브랜치 이름]를 가져와서 합치기, 현재 브랜치로 Merge
$ git merge --abort merge 취소하기

 

더 디테일한 브랜치 명령어 

명령어 설명
$ git branch -r 원격저장소의 브랜치 목록 보기
$ git branch -a 로컬저장소, 원격저장소의 모든 브랜치 목록 보기
$ git branch [브랜치 이름] 새로운 [브랜치이름] 생성, 생성지점: 현재 브랜치
$ git branch [브랜치 이름1] [브랜치 이름2] 새로운 [브랜치 이름1] 생성, 생성지점: [브랜치 이름2]
$ git branch -f [브랜치 이름1] [브랜치 이름2] [브랜치 이름1]에서 [브랜치 이름2]로 덮어쓰기
$ git checkout -m [브랜치 이름1] [브랜치 이름2] [브랜치 이름1]를 [브랜치 이름2]로 변경 (??)
[브랜치 이름1]를 [브랜치 이름2]로 이동 (??)
$git remote update
$git branch -r
$git checkout -t [브랜치 이름]
원격 저장소 갱신
원격 저장소의 branch 목록 확인
원격저장소의 [브랜치이름]을 로컬에 생성, checkout
$git remot update
git branch -r
$git checkout -f -t [브랜치 이름]
원격 저장소 갱신
원격 저장소의 branch 목록 확인
원격저장소의 [브랜치이름]을 로컬에 생성, checkout (에러 무시)
   

 

Git 이력 확인 명령어

명령어 설명
$git log commit 내역 보기
$git log --status commit 내역과 관련 파일 함께 보기
$git log --oneline 한줄로 표기 (??뭘)
$git log --oneline --branches 각 브랜치의 커밋 확인
$git log --oneline --branches --graph 각 브랜치의 커밋 확인, 그래프 형식
$git log [브랜치 이름1] [브랜치 이름2] [브랜치 이름1]과 [브랜치 이름2]의 차이 보기

 

변경사항 관련

명령어 설명
$git fetch 원격 저장소에서 변경사항 가져오기, commit(정보)만 가져옴(현재 브랜치에 합쳐지지 않음)
$git pull 원격 저장소에서 변경사항 가져오기, 현재 브랜치에 합쳐짐
$git status 깃 상태 확인
$git diff 깃 변경 내용 확인
$git stash 현재 작업 사항 임시 저장
$git stash list 임시 저장 목록 확인
$git stash apply 임시 저장 내용 가져오기
$git stash drop 임시 저장 내용 삭제
$git stash clear 임시 저장 내용 모두 삭제

 

실수했을 때

명령어 설명
$git checkout --[파일 이름] [파일 이름] 수정내용 되돌리기 // 정확힌 모름 안써봄.
$git reset HEAD [파일 이름] [파일 이름] 스테이징 취소(add한 거 취소)
$git reset HEAD^ 최신 commit 취소
$git reset [커밋해시] [커밋해시]시점으로 되돌리기  (긴 거 말고 짧은 커밋 번호), 
$git reset --soft [커밋해시] [커밋해시]시점으로 되돌리기, head만 바뀜
$git reset --mixed [커밋해시] [커밋해시]시점으로 되돌리기, head 바뀜, 스테이징도 해당 시점으로 바뀜
$git reset --hard [커밋해시] [커밋해시]시점으로 되돌리기, head 바뀜, 스테이징 바뀜, 작업 중인 디렉토리 바뀜
$git revert [커밋해시] [커밋해시]시점의 변경 이력을 취소
$git show [커밋해시] 특정 커밋 내역 확인

 

 

기타

명령어 설명
$git push --set-upstream [origin/원격 브랜치 이름] [브랜치 이름] 브랜치 생성 후 처음으로 원격저장소에 푸쉬했을 때, 어떤 브랜치에 푸쉬할 것인지 명시
   

 

현재 작성한 파일을 다 날려버릴 때 (push되지 않은 이전 상태로 돌아가기)

명령어 설명
$git reset 모든 stgaed파일을 unstage상태로 만듦
$git checkout . 모든 변경 사항을 취소함
$git clean -fdx 추적할 수 없는 모든 파일을 제거함
-x 무시된 파일도 모두 제거하는 옵션