Git은 오랜만에 사용할 때마다 명령어를 자주 헷갈리는 것 같아서...
Git을 사용할 때 자주 사용하는 명령어들을 정리하고, 각각의 명령어가 하는 역할과 사용 방법을 설명합니다.
📌 GitHub 명령어 정리
명령어 | 설명 |
---|---|
git config --global user.name "Your Name" |
사용자 이름 설정 |
git config --global user.email "your.email@example.com" |
사용자 이메일 설정 |
git config --list |
현재 Git 설정 확인 |
git init |
현재 디렉토리를 Git 저장소로 초기화 |
git clone <repository-url> |
원격 저장소를 로컬에 복제 |
git status |
현재 변경 사항 확인 |
git add <file> |
특정 파일을 스테이징 |
git add . |
모든 변경 사항을 스테이징 |
git commit -m "메시지" |
변경 사항 커밋 |
git rm <file> |
Git에서 특정 파일 삭제 |
git checkout -- <file> |
변경 사항 취소 |
git branch |
브랜치 목록 확인 |
git branch <branch-name> |
새 브랜치 생성 |
git checkout <branch-name> |
특정 브랜치로 이동 |
git switch <branch-name> |
새로운 방식의 브랜치 이동 |
git checkout -b <branch-name> |
새 브랜치 생성 후 이동 |
git branch -d <branch-name> |
브랜치 삭제 |
git remote add origin <repository-url> |
원격 저장소 추가 |
git remote -v |
원격 저장소 목록 확인 |
git push origin <branch-name> |
원격 저장소에 푸시 |
git pull origin <branch-name> |
원격 저장소에서 변경 사항 가져오기 |
git fetch origin |
원격 저장소 변경 사항 가져오기 |
git merge origin/main |
가져온 변경 사항 병합 |
git log --oneline |
커밋 내역 확인 (한 줄 요약) |
git commit --amend -m "새로운 메시지" |
마지막 커밋 메시지 수정 |
git reset --hard <commit-hash> |
특정 커밋으로 되돌리기 (변경 사항 삭제) |
git revert <commit-hash> |
특정 커밋 취소 후 새로운 커밋 생성 |
git submodule add <repository-url> |
서브모듈 추가 |
git submodule update --init --recursive |
서브모듈 업데이트 |
1. Git 기본 설정
1.1 사용자 정보 설정
git config --global user.name "Your Name"
git config --global user.email "your.email@email.com"
- Git을 사용할 때 사용자 이름과 이메일을 설정합니다.
- `--global` 옵션을 사용하면 모든 프로젝트에 적용됩니다.
- 특정 프로젝트에만 설정하려면 `--local` 옵션을 사용
1.2 설정 확인
git config --list
- 현재 설정된 Git 정보를 확인합니다.
2. Git 저장소 초기화 및 클론
2.1 Git 저장소 초기화
git init
- 현재 디렉토리를 Git 저장소로 초기화합니다.
- `.git` 폴더가 생성되며, Git으로 버전 관리를 할 수 있는 상태가 됩니다.
2.2 원격 저장소 클론
git clone <repository-url>
- 원격 저장소를 로컬에 복제합니다.
- 예시
- 현재 디렉토리에 `repo` 폴더에 프로젝트가 복사됩니다.
git clone https://github.com/user/repo.git
3. Git 파일 관리
3.1 현재 상태 확인
git status
- 변경된 파일, 커밋되지 않은 파일 등을 확인할 수 있습니다.
3.2 파일 추가 (스테이징)
git add <file>
- 특정 파일을 스테이징 영역에 추가합니다.
- 예시
git add index.html
- 모든 파일 추가
- 현재 디렉토리의 모든 변경된 파일을 스테이징합니다.
git add .
3.3 변경 사항 커밋
git commit -m "커밋 메시지"
- 스테이징된 변경 사항을 저장소에 기록합니다.
- 예시
git commit -m "feat: 로그인 기능 구현"
3.4 파일 삭제
- Git에서 특정 파일을 삭제합니다.
git rm <file>
- 예시
git rm index.html
3.5 파일 변경 되돌리기
- 스테이징되지 않은 변경 사항을 되돌립니다.
git checkout -- <file>
- 예시
git checkout -- index.html
4. 브랜치 관리
4.1 브랜치 목록 확인
git branch
- 현재 존재하는 브랜치 목록을 확인할 수 있습니다.
4.2 브랜치 생성
git branch <branch-name>
- 새로운 브랜치를 생성합니다.
- 예시
git branch feature/login
4.3 브랜치 변경 (체크아웃)
git checkout <branch-name>
git switch <branch-name>
- 특정 브랜치로 이동합니다.
- 예시
git checkout feature/login
4.4 브랜치 생성과 동시에 이동
git checkout -b <branch-name>
- 새로운 브랜치를 생성하고 해당 브랜치로 이동합니다.
- 예시
git checkout -b feature/login
4.5 브랜치 삭제
git branch -d <branch-name>
- 특정 브랜치를 삭제합니다.
- 예시
git branch -d feature/login
5. 원격 저장소와 동기화
5.1 원격 저장소 등록
git remote add origin <repository-url>
- 원격 저장소를 추가합니다.
- 예시
git remote add origin https://github.com/user/repo.git
5.2 원격 저장소 확인
git remote -v
- 현재 등록된 원격 저장소 목록을 확인합니다.
5.3 변경 사항 푸시 (업로드)
git push origin <branch-name>
- 현재 브랜치의 변경 사항을 원격 저장소에 업로드 합니다.
- 예시
git push origin main
5.4 원격 저장소에서 변경 사항 가져오기
git pull origin <branch-name>
- 원격 저장소의 최신 변경 사항을 가져옵니다.
- 예시
git pull origin main
5.5 원격 저장소 변경 사항 병합
git fetch origin
git merge origin/main
- 원격 저장소에서 변경 사항을 가져온 후 병합합니다.
6. 커밋 히스토리 및 되돌리기
6.1 커밋 로그 확인
git log --oneliine
- 커밋 내역을 한 줄로 요약하여 표시합니다.
6.2 마지막 커밋 수정
git commit --amend -m "새로운 커밋 메시지"
- 가장 최근의 커밋 메시지를 수정합니다.
6.3 특정 커밋으로 되돌리기
git reset --hard <commit-hash>
- 지정된 커밋으로 되돌리고 이후의 변경 사항을 삭제합니다.
git revert <commit-hash>
- 지정된 커밋을 취소하는 새로운 커밋을 생성합니다.
7. Git Conflict 해결
7.1 충돌 파일 확인
git status
- 충돌이 발생한 파일을 확인합니다.
7.2 충돌 해결 후 스테이징 및 커밋
git add <file>
git commit -m "충돌 해결"
- 충돌을 해결한 후 스테이징하고 커밋합니다.
8. Git 서브모듈 (Submodule)
8.1 서브모듈 추가
git submodule add <repository-url>
- 기존 프로젝트에 다른 Git 저장소를 포함할 때 사용합니다.
8.2 서브모듈 업데이트
git submodule update --init --recursive
- 서브모듈을 최신 상태로 업데이트합니다.
반응형
'Github' 카테고리의 다른 글
[Github] 조직(Organization) Readme 작성하기 (4) | 2024.11.27 |
---|---|
[Github] Chirpy 테마로 GitHub Pages 시작하기 (0) | 2024.06.11 |
[Github] GitHub Pages 시작하기 (0) | 2024.06.11 |
[Github] SSAFY 스터디에서의 깃허브 활용 방법 (0) | 2024.03.26 |
[Github] Readme로 프로필 꾸미기 총정리 (0) | 2024.03.25 |