Git

[Git] 모든 개발자가 알아야 할 18가지 Git 명령어

범데이 2024. 11. 13. 23:04
728x90

오늘도 dev.to를 둘러보다가 Git을 필수적으로 사용하는 개발자들에게 유익할 20가지 Git 명령어를 정리한 포스트를 보게 되어, 직접 한글로 번역하여 포스팅하게 되었다.

(20가지 중 18가지만 추려서 포스팅하였다.)

 

[원본 포스팅: https://dev.to/jagroop2001/20-git-command-line-tricks-every-developer-should-know-1i21]

 

20 Git Command-Line Tricks Every Developer Should Know

20 Git Command-Line Tricks Every Developer Should Know Git is an essential version control tool for...

dev.to

 


 

Git은 개발자에게 필수적인 버전 제어 도구이다. GUI 도구로 일부 작업을 간소화할 수 있지만 Git 명령줄을 숙지하면 더 깊은 제어력, 유연성, 속도를 얻을 수 있다.

 

개발자가 작업 흐름을 간소화하기 위해 알아야 할 Git 명령어 18가지를 소개한다.

 

1. 전역 Configuration 설정

커밋에 올바른 ID가 태그되어 있는지 확인하자

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

 

Tip: --global대신 --local을 사용하여 프로젝트별 Configuration을 설정할 수 있다.

 

 

2. 마지막 커밋 취소(변경 사항 손실 없이)

마지막 커밋에서 실수를 했다면 실행 취소할 수 있다.

git reset --soft HEAD~1

이렇게 하면 변경 사항이 단계적으로 적용되어 커밋을 수정하거나 문제를 해결할 수 있다.

 

 

 

3. 마지막 커밋 수정

변경 사항을 포함하는 것을 깜빡했거나 커밋 메시지를 업데이트 하고 싶을때

git add .
git commit --amend -m "Updated commit message"

이렇게 하면 새 커밋을 만들지 않고 이전 커밋을 업데이트한다.

 

 

4. 커밋되지 않은 변경 사항 Stash

커밋하지 않고 빠르게 branch를 전환해야할때

git stash

 

 

나중에 다음 명령어로 stash된 항목을 되찾을 수 있다.

git stash pop

 

 

 

5. 커밋 기록을 그래프로 보기

커밋 기록을 시각화하면 프로젝트 상태를 더 쉽게 이해할 수 있다.

git log --graph --online --all

 

 

 

6. 커밋 작성자 변경

마지막 커밋의 작성자를 변경한다.

git commit --amend --auther="New Author <newauthor@example.com>"

 

 

 

7. Stage된 변경 사항의 차이점 확인

git diff를 사용하여 다른 stage의 파일들을 비교할 수 있다.

git diff --staged

 

이는 준비 중이지만 아직 커밋되지 않은 변경사항을 보여준다.

 

 

8. 깨끗한 커밋 기록을 위한 Rebase

Rebase는 명확성을 위해 커밋 기록을 다시 작성한다.

git rebase -i HEAD~3

이렇게 하면 마지막 3개의 커밋을 편집, 스쿼시 또는 재정렬할 수 있다.

 

 

9. 모든 Banch 보기 (로컬과 원격)

어떤 branch들이 이용 가능한지 확인할 수 있다.

git branch -a

 

 

 

10. 추적되지 않은 파일 및 디렉토리 정리

Git에서 추적하지 않는 원치 않는 파일을 빠르게 제거할 수 있다.

git clean -fd

Tip: -n을 사용하면 제거될 내용을 미리 볼 수 있는 테스트 실행이 가능하다.

 

 

 

11. Upstream Branch 추적

로컬 branch와 원격 branch의 동기화 상태를 유지할 수 있다.

git branch --set-upstream-to=origin/main

 

 

 

12. 대화형 rabase로 스쿼시 커밋

여러 커밋을 하나로 결합한다.

git rebase -i HEAD~n # Replace 'n' with the number of commits

 

 

 

13. 특정 커밋에서 파일 보기

특정 커밋 시점에서 파일의 상태를 확인한다.

git show <commit-hash>:path/to/file

 

 

 

14. 커밋 후 .gitignore 편집

특정 파일을 무시하는 것을 잊었다면 .gitignore를 업데이트할 수 있다.

echo "node_modules/" >> .gitignore
git rm -r --cached node_modules/
git commit -m "Update .gitignore"

 

 

 

15. Push된 커밋 되돌리기

기록을 변경하지 않고 특정 커밋의 변경 사항을 취소한다.

git revert <commit-hash>

 

 

 

16. 메타데이터만 가져오기

저장소 전체를 가져오는 것을 피하고 싶다면?

git fetch --dry-run

이를 통해 실제 데이터를 다운로드하지 않고도 어떤 내용이 가져올 지 확인할 수 있다.

 

 

 

17. 특정 코드 라인의 작성자 확인

파일의 특정 line을 누가 썼는지 알아볼 수 있다.

git blame path/to/file

 

 

 

18. 파일을 마지막 커밋으로 재설정

특정 파일에 대한 로컬 변경 사항을 취소한다.

git checkout -- path/to/file

 

 

이 18가지 Git 명령줄 트릭은 혼자 작업하든 팀과 함께 작업하든 개발 프로세스를 더욱 원활하게 만들어 줄 수 있다.

GUI 도구는 편리함을 제공하지만, Git 명령줄을 마스터하면 워크플로를 더 잘 제어할 수 있다.

 

 

이 명령어들을 숙지하고 Git 기술을 향상시키자!

반응형