
Git은 분산 버전 관리 시스템(DVCS)으로, 협업 및 코드 관리를 위해 필수적인 도구입니다. 아래는 Git의 주요 명령어를 정리한 내용입니다.
1. Git 기본 설정
사용자 정보 설정
git config --global user.name "사용자이름"
git config --global user.email "이메일주소"
- 사용자 이름과 이메일을 설정합니다.
--global
옵션을 사용하면 시스템 전체에 적용됩니다.
설정 확인
git config --list
- 현재 설정된 Git 정보를 확인할 수 있습니다.
2. Git 저장소 초기화 및 클론
Git 저장소 초기화
git init
- 현재 디렉토리를 Git 저장소로 초기화합니다.
원격 저장소 클론
<pre class="wp-block-syntaxhighlighter-code">git clone <저장소 URL>
</pre>
- 기존 원격 저장소를 로컬로 복제합니다.
3. 파일 상태 확인 및 관리
현재 상태 확인
git status
- 변경된 파일 상태를 확인합니다.
변경 사항 추가
<pre class="wp-block-syntaxhighlighter-code">git add <파일명>
git add .
</pre>
git add <파일명>
: 특정 파일을 스테이징 영역에 추가합니다.git add .
: 모든 변경 사항을 스테이징합니다.
변경 사항 커밋
git commit -m "커밋 메시지"
- 스테이징된 변경 사항을 로컬 저장소에 기록합니다.
마지막 커밋 수정
git commit --amend -m "수정된 메시지"
- 마지막 커밋 메시지를 수정할 수 있습니다.
4. 브랜치 관리
브랜치 목록 확인
git branch
git branch -a # 원격 브랜치까지 포함
브랜치 생성
<pre class="wp-block-syntaxhighlighter-code">git branch <브랜치명>
</pre>
- 새로운 브랜치를 생성합니다.
브랜치 이동
<pre class="wp-block-syntaxhighlighter-code">git checkout <브랜치명>
git switch <브랜치명> # Git 2.23 이상
</pre>
- 특정 브랜치로 이동합니다.
브랜치 생성과 이동을 동시에
<pre class="wp-block-syntaxhighlighter-code">git checkout -b <브랜치명>
git switch -c <브랜치명> # Git 2.23 이상
</pre>
- 새로운 브랜치를 생성하고 이동합니다.
브랜치 삭제
<pre class="wp-block-syntaxhighlighter-code">git branch -d <브랜치명> # 병합된 브랜치만 삭제 가능
git branch -D <브랜치명> # 강제 삭제
</pre>
브랜치 병합
<pre class="wp-block-syntaxhighlighter-code">git merge <브랜치명>
</pre>
- 현재 브랜치에 지정한 브랜치를 병합합니다.
충돌 해결
git status
를 사용하여 충돌 파일 확인- 충돌을 해결한 후 다시
git add .
및git commit
5. 원격 저장소와 협업
원격 저장소 확인
git remote -v
- 원격 저장소 정보를 확인합니다.
원격 저장소 추가
<pre class="wp-block-syntaxhighlighter-code">git remote add origin <저장소 URL>
</pre>
- 원격 저장소를 추가합니다.
원격 저장소 변경
<pre class="wp-block-syntaxhighlighter-code">git remote set-url origin <새 URL>
</pre>
- 기존 원격 저장소 URL을 변경합니다.
변경 사항 푸시
<pre class="wp-block-syntaxhighlighter-code">git push origin <브랜치명>
</pre>
- 로컬 변경 사항을 원격 저장소에 업로드합니다.
원격 저장소에서 변경 사항 가져오기
<pre class="wp-block-syntaxhighlighter-code">git pull origin <브랜치명>
</pre>
- 원격 저장소의 변경 사항을 가져와 로컬 브랜치에 병합합니다.
원격 브랜치 삭제
<pre class="wp-block-syntaxhighlighter-code">git push origin --delete <브랜치명>
</pre>
- 원격 저장소의 특정 브랜치를 삭제합니다.
6. 변경 사항 되돌리기
마지막 커밋 되돌리기
git reset --soft HEAD~1 # 커밋만 취소 (변경 내용 유지)
git reset --mixed HEAD~1 # 커밋 + add 취소 (파일은 유지)
git reset --hard HEAD~1 # 모든 변경 사항 삭제
특정 커밋으로 되돌리기
<pre class="wp-block-syntaxhighlighter-code">git revert <커밋ID>
</pre>
- 지정한 커밋을 취소하는 새 커밋을 만듭니다.
7. 로그 및 히스토리 확인
커밋 로그 확인
git log
git log --oneline --graph --all
- 한 줄 요약 및 그래프 형태로 커밋 로그 확인.
파일 변경 내역 확인
<pre class="wp-block-syntaxhighlighter-code">git diff
git diff <파일명>
</pre>
- 변경된 파일의 차이를 확인합니다.
8. 태그(Tag) 관리
태그 생성
<pre class="wp-block-syntaxhighlighter-code">git tag <태그명>
</pre>
- 특정 커밋에 태그를 추가합니다.
태그 푸시
<pre class="wp-block-syntaxhighlighter-code">git push origin <태그명>
git push origin --tags # 모든 태그 푸시
</pre>
태그 삭제
<pre class="wp-block-syntaxhighlighter-code">git tag -d <태그명> # 로컬 태그 삭제
git push origin --delete <태그명> # 원격 태그 삭제
</pre>
9. 서브모듈(Submodule)
서브모듈 추가
<pre class="wp-block-syntaxhighlighter-code">git submodule add <저장소 URL> <경로>
</pre>
- 다른 Git 저장소를 현재 프로젝트에 포함합니다.
서브모듈 초기화 및 업데이트
git submodule update --init --recursive
10. 기타 유용한 명령어
캐시 삭제 (예: .gitignore
적용 안 된 파일 무시)
git rm -r --cached .
git add .
git commit -m "Removed cached files"
원격 저장소의 최신 변경 사항 강제 적용
git fetch --all
git reset --hard origin/main
이제 Git의 주요 명령어를 잘 정리했으니, 실전에서 자주 사용하며 익숙해지는 것이 중요합니다. 🚀