유용한 Git 명령

Git은 개발 전반에 걸쳐 소스 코드의 히스토리 추적을 제공할 뿐만 아니라 여러 개발자가 서로 발을 밟지 않고 동일한 프로젝트에서 작업할 수 있게 해주는 환상적인 기술입니다.

자주 사용하는 git 명령에 대한 일종의 치트 시트를 만들고 싶었습니다. 다른 편리한 git 명령을 발견하면 이 게시물을 계속 업데이트할 것입니다.


스타터 Git 명령:



1. 새 지점 생성 및 체크아웃




git checkout -b <branch>


2. 파일에 대한 변경 사항을 취소합니다.




git checkout -- <file>


3. 로컬 브랜치 이름 바꾸기




git branch -m <oldName> <newName>


4. 지정된 분기를 현재 체크아웃된 분기로 병합합니다.




git merge <branch>





더 많은 Git 명령:



1. 모든 변경 사항 준비




git add -A 


새 파일, 수정된 파일 또는 제거된 모든 파일을 작업 트리에 준비합니다. 이는 새 파일과 기존 파일만 준비하는 git add .와 다릅니다.

2. 모든 변경 사항 검토




git diff HEAD

git diff와 동일하지만 스테이지되지 않은 변경 사항이 아닌 모든 변경 사항을 검토합니다.

3. 리포지토리에서 파일을 제거하지만 프로젝트 디렉터리에 유지




git rm --cached <filename>


이전에 커밋했지만 .gitignore에 지정하는 것을 잊고 추적하지 않으려는 파일이 있는 경우 매우 유용합니다. .gitignore에 추가한 후 이 명령을 실행하여 로컬 프로젝트 디렉토리에서 삭제하지 않고 저장소에서 제거되도록 합니다.

4. 모든 로컬 파일을 마지막 커밋으로 재설정




git reset --hard




위험 - 작업 시간을 낭비할 가능성이 있으므로 이 명령을 사용할 때 주의하십시오.

나는 종종 내가 어지럽혀 왔던 브랜치(공백, 인쇄문)에 커밋되지 않은 변경 사항이 있음을 발견합니다.

5. 마지막 커밋 실행 취소




git reset --hard HEAD^




위험 - 또한 의도하지 않은 작업 손실이 발생할 수 있습니다.

우리는 모두 즉시 후회하는 커밋을 했습니다... 이 명령을 사용하여 마지막 커밋의 변경 사항을 제거합니다.

6. 이전 커밋 수정




git commit --amend -m <newMsg>

-m 옵션을 추가하면 이전 커밋 메시지를 수정할 수 있습니다. 또한 커밋에 대한 새로운 변경 사항을 준비할 수 있으며 이전 커밋이 이를 상속합니다.

7. 더 이상 원격에 존재하지 않는 모든 분기를 제거하십시오.




git branch --merged | egrep -v "(^\*|master|main|<branchToSave>)" | xargs git branch -d




DANGER - 아직 원격 저장소로 푸시되지 않은 새로 생성된 브랜치를 삭제합니다. <branchToSave> 와 같이 특별한 경우를 지정해야 합니다.

병합된 이전 브랜치가 많은 경우 로컬 리포지토리를 정리하는 데 사용할 수 있습니다. 이것이 어떻게 작동하는지 알아보려면 this great stack overflow post 을 참조하십시오.

좋은 웹페이지 즐겨찾기