- Published on
Git 시작하기: 기본 개념, 자주 쓰는 명령어 및 흐름
- Authors
- Name
- devnmin
Git 설명과 자주 쓰는 명령어
Git이란?
Git은 분산 버전 관리 시스템(Distributed Version Control System, DVCS) 으로, 코드 변경 사항을 추적하고 협업할 수 있도록 돕는 도구입니다.
개발자들이 프로젝트를 효율적으로 관리하고 협업할 수 있도록 여러 기능을 제공합니다.
- 분산형 버전 관리 시스템: 중앙 서버 없이도 로컬에서 버전을 관리할 수 있음
- 빠르고 가벼운 커밋: 변경 사항을 저장하는 속도가 빠름
- 브랜치 기능: 독립적인 작업 공간을 만들고 쉽게 병합 가능
- 협업 지원: GitHub, GitLab, Bitbucket과 같은 원격 저장소를 활용하여 팀원들과 공동 작업 가능
Git 기본 흐름
Git을 활용한 기본적인 작업 흐름은 다음과 같습니다.
저장소(Repository) 생성 및 초기화
git init
새로운 Git 저장소를 생성합니다.
파일 추가 및 변경 사항 저장
git add <파일명> # 특정 파일 추가 git add . # 변경된 모든 파일 추가
변경된 파일을 스테이징 영역에 추가합니다.
커밋(Commit)
git commit -m "커밋 메시지"
변경 사항을 기록합니다.
원격 저장소에 업로드
git push origin <브랜치명>
로컬의 변경 사항을 원격 저장소(GitHub, GitLab 등)에 업로드합니다.
원격 저장소에서 변경 사항 가져오기
git pull origin <브랜치명>
원격 저장소의 최신 변경 사항을 가져옵니다.
Git 자주 쓰는 명령어
1. Git 기본 설정
git config --global user.name "사용자 이름"
git config --global user.email "이메일"
Git 사용자 정보를 설정합니다.
git config --global core.editor "vim"
기본 텍스트 편집기를 변경할 수 있습니다.
git config --list
설정된 Git 정보를 확인합니다.
2. 저장소 초기화 및 복제
git init
현재 디렉토리를 Git 저장소로 초기화합니다.
git clone <저장소 URL>
원격 저장소를 로컬로 복제합니다.
3. 파일 추적 및 변경 사항 확인
git status
작업 디렉토리의 상태를 확인합니다.
git diff
스테이징 전 변경된 내용을 확인합니다.
git diff --staged
스테이징된 변경 사항을 확인합니다.
git log --oneline --graph
커밋 히스토리를 한 줄로 간단하게 확인합니다.
4. 파일 추가 및 커밋
git add <파일명>
git add .
파일을 스테이징 영역에 추가합니다.
git commit -m "커밋 메시지"
변경 사항을 커밋합니다.
git commit --amend -m "새로운 커밋 메시지"
최근 커밋 메시지를 수정합니다.
5. 브랜치 작업
git branch
현재 존재하는 브랜치를 확인합니다.
git branch <브랜치명>
새로운 브랜치를 생성합니다.
git checkout <브랜치명>
해당 브랜치로 이동합니다.
git checkout -b <새로운 브랜치명>
새로운 브랜치를 생성하고 해당 브랜치로 이동합니다.
git merge <브랜치명>
현재 브랜치에 다른 브랜치를 병합합니다.
git branch -d <브랜치명>
브랜치를 삭제합니다.
6. 원격 저장소 연결 및 관리
git remote add origin <저장소 URL>
원격 저장소를 추가합니다.
git remote -v
연결된 원격 저장소를 확인합니다.
git push origin <브랜치명>
변경 사항을 원격 저장소에 업로드합니다.
git pull origin <브랜치명>
원격 저장소에서 최신 변경 사항을 가져옵니다.
git fetch
원격 저장소의 변경 사항을 가져오지만 자동 병합은 하지 않습니다.
7. 커밋 수정 및 되돌리기
git reset --soft HEAD~1
가장 최근 커밋을 취소하고 스테이징 영역에 유지합니다.
git reset --hard HEAD~1
가장 최근 커밋을 삭제하고 파일도 이전 상태로 되돌립니다.
git revert <커밋 해시>
특정 커밋을 되돌리는 새로운 커밋을 만듭니다.
git checkout -- <파일명>
파일을 가장 최근 커밋 상태로 되돌립니다.
8. 태그(Tag) 관리
git tag <태그명>
태그를 추가합니다.
git tag
현재 태그 목록을 확인합니다.
git push origin <태그명>
태그를 원격 저장소에 업로드합니다.
git push origin --tags
모든 태그를 원격 저장소에 업로드합니다.
git tag -d <태그명>
로컬에서 태그를 삭제합니다.
git push origin --delete <태그명>
원격 저장소에서 태그를 삭제합니다.
정리
Git을 활용하면 코드 변경 사항을 쉽게 관리하고 팀원과 효율적으로 협업할 수 있습니다.
특히 브랜치와 원격 저장소를 활용하면 대규모 프로젝트에서도 효과적으로 작업할 수 있습니다.
Git 사용 흐름 요약
git clone <저장소 URL>
: 원격 저장소를 로컬로 복제git branch <새로운 브랜치명>
: 새로운 브랜치 생성git checkout <브랜치명>
: 작업할 브랜치로 이동git add .
: 변경된 파일을 스테이징 영역에 추가git commit -m "설명"
: 변경 사항 커밋git push origin <브랜치명>
: 원격 저장소에 업로드git pull origin <브랜치명>
: 최신 변경 사항 가져오기
Git을 활용하면 코드 관리를 효율적으로 할 수 있으며, 협업에서도 강력한 도구가 됩니다. 😊