Git은 버전 관리 시스템으로, 소프트웨어 개발 과정에서 코드 변경 이력을 관리하고 협업을 효율적으로 지원합니다. 아래는 Git을 사용하며 자주 사용하는 필수 명령어들을 설명과 함께 정리한 것입니다.
저장소 관리 및 초기 설정
- git init: 현재 디렉토리를 Git 저장소로 초기화합니다.
- git clone <URL>: 원격 저장소를 로컬로 복제합니다.
- git remote add <이름> <URL>: 원격 저장소를 추가합니다.
- git remote -v: 추가된 원격 저장소 목록을 확인합니다.
파일 상태 확인 및 변경
- git status: 현재 작업 디렉토리와 스테이징 영역의 상태를 확인합니다.
- git diff: 작업 디렉토리의 변경 사항을 확인하거나, 두 커밋 간의 차이를 확인합니다.
- git add <파일>: 파일을 스테이징 영역에 추가합니다.
- git add .: 모든 변경된 파일을 스테이징 영역에 추가합니다.
커밋 생성 및 관리
- git commit -m "커밋 메시지": 스테이징 영역의 변경 사항을 커밋합니다.
- git log: 커밋 히스토리를 확인합니다.
- git log --oneline: 커밋 히스토리를 간략하게 한 줄로 표시합니다.
- git show <커밋 해시>: 특정 커밋의 내용을 상세히 보여줍니다.
브랜치 관리
- git branch: 현재 브랜치를 확인하고, 새로운 브랜치를 생성합니다.
- git checkout <브랜치명>: 특정 브랜치로 이동합니다.
- git merge <브랜치명>: 다른 브랜치를 현재 브랜치에 병합합니다.
- git rebase <브랜치명>: 현재 브랜치의 커밋을 다른 브랜치 위에 쌓아 올립니다.
원격 저장소와의 동기화
- git push <원격 저장소> <브랜치>: 로컬 브랜치를 원격 저장소로 보냅니다.
- git pull <원격 저장소> <브랜치>: 원격 저장소의 변경 사항을 가져와 로컬 브랜치에 병합합니다.
기타 유용한 명령어
- git reset HEAD <파일>: 스테이징 영역에서 파일을 제거합니다.
- git revert <커밋 해시>: 특정 커밋의 변경 사항을 반대로 적용합니다.
- git tag <태그명>: 특정 커밋에 태그를 달아 쉽게 찾을 수 있도록 합니다.
- git stash: 현재 작업 중인 내용을 임시 저장합니다.
- git stash pop: 임시 저장된 내용을 복원합니다.
예시
Bash
# 새로운 Git 저장소 초기화
git init
# 파일 추가 및 커밋
git add myfile.txt
git commit -m "새로운 파일 추가"
# master 브랜치에서 feature 브랜치 생성 및 이동
git branch feature
git checkout feature
# feature 브랜치에서 작업 후 master 브랜치에 병합
# ... 작업 ...
git checkout master
git merge feature
팁:
- 커밋 메시지: 명확하고 간결하게 작성하여 나중에 히스토리를 확인하기 쉽도록 합니다.
- 정기적인 커밋: 자주 커밋하여 작업 내용을 안전하게 보관하고, 문제 발생 시 빠르게 복구할 수 있도록 합니다.
- 브랜치 활용: 기능 개발이나 버그 수정 시 새로운 브랜치를 생성하여 작업하고, 완료 후에 메인 브랜치에 병합하세요.
'Git & Github' 카테고리의 다른 글
아주 바쁜.. 또는 핵심만 Git과 GitHub의 핵심 내용을 간단히 정리 (1) | 2024.08.20 |
---|---|
5. Git과 GitHub의 고급 기능 (왜 이런 기능을 사용할까요?) (0) | 2024.08.20 |
4. 풀 리퀘스트를 활용한 협업 (왜 풀 리퀘스트를 사용할까요?) (1) | 2024.08.20 |
3. 브랜치를 활용한 효율적인 개발 (왜 브랜치를 사용할까요?) (0) | 2024.08.20 |
2. GitHub에 프로젝트 공유하기 (0) | 2024.08.20 |