GitHub 기본 명령어
GitHub은 분산 버전 관리 시스템 (DVCS, Distributed Version Control System) 웹서비스입니다.
1. 저장소 관련 명령어
- git init: 현재 디렉토리를 Git 저장소로 초기화합니다.
- git clone [저장소 URL]: 원격 저장소의 내용을 로컬 디렉토리로 복제합니다.
- git remote add origin [원격 저장소 URL]: 로컬 저장소에 원격 저장소의 URL을 등록합니다.
- git remote -v: 등록된 원격 저장소 목록을 확인합니다.
2. 파일 상태 관련 명령어 (Track, Commit, Log)
- git status: 파일의 변경 상태를 확인합니다.
- git add [파일 이름]: 변경된 파일을 스테이징 영역에 추가합니다.
- git add . : 모든 변경된 파일을 스테이징 영역에 추가합니다.
- git commit -m "[커밋 메시지]": 스테이징 영역의 변경 내용을 커밋합니다.
- git restore --staged [파일 이름] : 스테이징한 특정 파일을 취소합니다.
- git restore --staged . : 스테이징한 모든 파일을 취소합니다.
- git log: 커밋 기록을 확인합니다.
- git diff [파일 이름]: 파일의 변경 내용을 확인합니다.
- git diff [브랜치 A]: 현재 브랜치와 브랜치 A의 내용을 비교합니다.
- git show: 현재 브랜치의 최신 버젼을 보여줍니다.
3. 브랜치 관련 명령어
- git branch: 로컬 브랜치 목록을 확인합니다.
- git branch -r: 원격 브랜치 목록을 확인합니다.
- git branch -a: 로컬 및 원격 브랜치 목록을 모두 확인합니다.
- git branch -m [새로운 브랜치 이름]: 현재 브랜치의 이름을 변경합니다.
- git branch [새 브랜치 이름]: 새 브랜치를 생성합니다.
- git checkout [브랜치 이름]: 특정 브랜치로 이동합니다.
- git checkout -b [브랜치 이름]: 특정 브랜치를 생성한 다음 이동합니다.
- git switch [브랜치 이름]: 특정 브랜치로 이동합니다.
- git switch -c [브랜치 이름]: 특정 브랜치를 생성한 다음 이동합니다.
- git branch -d [삭제할 브랜치 이름]: 브랜치를 삭제합니다.
- git merge [병합할 브랜치 이름]: 현재 브랜치에 다른 브랜치의 변경 내용을 병합. 가령 로컬에서 dev에서 한 작업을 로컬 main으로 병합하는 작업이다. git switch main으로 main 브랜치로 이동후 병합할 브랜치를 선택해서 git merge dev 실행.
- git config --global init.defaultBranch main: 기본 설정 branch 이름은 master 대신 main으로 설정
- git config --get init.defaultBranch: 기본 설정 branch 이름 확인
4. 원격 저장소 관련 명령어 (Push, Pull, Fetch)
- git push [원격 이름] [브랜치 이름]: 로컬 브랜치의 변경 내용을 원격 저장소에 업로드합니다.
- git push -f [원격 이름] [브랜치 이름]: 로컬 브랜치의 변경 내용을 원격 저장소에 충돌을 무시하고 덮어쓰기하는 방식으로 업로드합니다.
- git pull [원격 이름] [브랜치 이름]: 원격 저장소의 변경 내용을 로컬 브랜치에 다운로드 및 병합합니다.
- git pull --rebase [원격 이름] [브랜치 이름]: 원격 저장소의 변경 내용을 로컬 브랜치에 다운로드 및 덮어씁니다.
- git fetch [원격 이름]: 원격 저장소의 변경 내용을 로컬로 다운로드하지만, 자동으로 병합하지는 않습니다.
5. 버젼 및 릴리즈 관리
- git tag : 현재 저장소의 태그 목록 확인
- git tag v1.0.0: 현재 커밋에 lightweight tag 생성
- git tag -a v1.0.0 -m "Release v1.0.0" : 주석이 포함된 annnotated tag 생성
- git show v1.0.0: 해당 태그의 커밋과 변경 사항 보기
- git tag -d v1.0.0: 로컬 태크 삭세
- git ls-remote --tags origin: 원격 저장소의 태그 목록 가져오기
- git push origin v1.0.0: 원격 저장소에 해당 태그인 v1.0.0을 푸시. 일반적인 git push와 다른 태그 푸시.
- git push origin --tags: 로컬의 모든 태그를 원격 저장소로 푸시. 일반적인 git push와 다른 태그 푸쉬.
- git release list: 릴리즈 기준의 태그 확인
- git checkout -b release/1.0.0 develop: 릴리즈 브랜치 생성
6. 기타 유용한 명령어
- git restore . : 모든 파일을 롤백합니다.
- git reset --hard [커밋 해시]: 특정 커밋으로 되돌립니다. (주의: 되돌린 이후의 변경 사항은 모두 삭제됩니다.)
특정 버젼으로 되돌아간 다음, 해당 특정 버젼 이후의 변화는 모두 삭제합니다. - git stash: 변경 내용을 임시로 저장합니다.
- git stash list: 임시 저장한 내용을 확인합니다.
- git stash pop: 임시 저장된 변경 내용을 다시 적용합니다.
Git Cheat Sheet : 링크
References:
https://www.heropy.dev/p/PcUkdT
https://education.github.com/git-cheat-sheet-education.pdf
https://github.com/education
https://error-note.tistory.com/24
https://velog.io/@jihoon135/Git-branch-merge-%EC%A2%85%EB%A5%98%EC%99%80-%ED%8A%B9%EC%A7%95
'개발 > Git' 카테고리의 다른 글
| Git과 버젼 관리 리서치 (1) | 2025.06.15 |
|---|---|
| gitignore 사용법 (0) | 2024.10.29 |