Git 소개 및 기본 명령어
Git은 분산 버전 관리 시스템으로, 소스 코드의 변경 이력을 관리하고 협업을 원활하게 합니다. Linus Torvalds가 Linux 커널 개발을 위해 만든 도구로, 현재는 다양한 소프트웨어 개발 프로젝트에서 널리 사용됩니다. Git을 사용하면 코드 변경 사항을 추적하고, 여러 명이 동시에 작업할 수 있으며, 이전 버전으로 쉽게 되돌아갈 수 있습니다.
다음은 Git의 주요 명령어들에 대한 설명과 사용 예시입니다.
1. Git 설정
Git을 처음 설정할 때 사용자 정보를 등록합니다.
- git config: 사용자 이름과 이메일을 설정합니다.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
2. 저장소 초기화 및 클론
- git init: 새로운 Git 저장소를 초기화합니다. 현재 디렉토리를 Git 저장소로 만듭니다.
git init
- git clone: 기존 저장소를 복사해옵니다. 원격 저장소의 내용을 로컬에 다운로드합니다.
git clone https://github.com/user/repository.git
3. 파일 추가 및 상태 확인
- git add: 변경된 파일을 스테이징 영역에 추가합니다. 커밋 준비 상태로 만듭니다.
git add <file>
git add . # 현재 디렉토리의 모든 변경된 파일 추가
- git status: 현재 작업 디렉토리의 상태를 확인합니다. 어떤 파일이 변경되었는지, 스테이징 상태인지 등을 보여줍니다.
git status
4. 커밋
- git commit: 스테이징 영역에 있는 변경 사항을 하나의 커밋으로 기록합니다. 변경 사항에 대한 메시지를 추가합니다.
git commit -m "Commit message"
5. 브랜치
- git branch: 브랜치를 관리합니다. 브랜치 목록을 확인하거나, 새로운 브랜치를 생성하고, 기존 브랜치를 삭제할 수 있습니다.
git branch # 브랜치 목록 확인
git branch <branch> # 브랜치 생성
git branch -d <branch> # 브랜치 삭제
- git checkout: 브랜치를 전환하거나 특정 커밋으로 이동합니다.
git checkout <branch> # 브랜치 전환
git checkout -b <new-branch> # 새 브랜치 생성 후 전환
6. 병합
- git merge: 다른 브랜치를 현재 브랜치로 병합합니다. 여러 브랜치의 변경 사항을 하나로 합칩니다.
git merge <branch>
7. 원격 저장소
- git remote: 원격 저장소를 관리합니다. 원격 저장소를 추가하거나 확인할 수 있습니다.
git remote add origin <remote-repository-url> # 원격 저장소 추가
git remote -v # 원격 저장소 확인
- git push: 로컬 커밋을 원격 저장소에 업로드합니다.
git push origin <branch>
- git pull: 원격 저장소의 변경 사항을 가져와서 병합합니다.
git pull origin <branch>
8. 로그 및 히스토리
- git log: 커밋 로그를 확인합니다. 프로젝트의 히스토리를 조회할 수 있습니다.
git log
git log --oneline # 한 줄로 요약된 로그
9. 되돌리기 및 재설정
- git reset: 커밋을 되돌리거나 파일의 스테이징 상태를 재설정합니다.
git reset <commit>
git reset --hard <commit> # 완전히 되돌리기
- git revert: 지정한 커밋을 되돌리는 새로운 커밋을 만듭니다.
git revert <commit>
10. Stash (임시 저장)
- git stash: 작업 중인 변경 사항을 임시로 저장합니다. 나중에 다시 적용할 수 있습니다.
git stash
git stash apply # 임시 저장한 변경 사항을 다시 적용
이와 같은 기본적인 Git 명령어들을 익히고 사용하면, 버전 관리를 효과적으로 할 수 있습니다.
※ Git 공식 문서 : https://git-scm.com/book/ko/v2
반응형
'TIL (Today I Learned)' 카테고리의 다른 글
[TIL] 2024. 07. 03 (0) | 2024.07.03 |
---|---|
[TIL] 2024. 07. 02 (0) | 2024.07.03 |
[TIL] 2024. 06. 28 (0) | 2024.06.28 |
[TIL] 2024. 06. 27 (0) | 2024.06.27 |
[TIL] 2024. 06. 26 (0) | 2024.06.26 |