기본 명령어
-
[Git Command] 간단한 Git 명령어 정리2020.01.20
[Git Command] 간단한 Git 명령어 정리
2020. 1. 20. 17:37
설정
사용자 이름과 이메일 설정
- git config --global user.name "UserName"
- git config --global user.email "UserEmail"
텍스트 편집기 설정
- git config --global core.editor vim
Line Ending 설정
- git config --global core.autocrlf [ true | input | false ]
- windows에서는 true로 설정하고 linux, mac, unix에서는 input을 사용한다.
Local Repository를 위한 Git Command
- git init
- git 저장소 초기화
- git add [ filename | . | * ]
- untracked 파일을 tracked로 만들거나 unstaged 파일을 staged로 만들 때 사용
- 즉, 추적하지 않은 파일을 추적하거나 수정된 파일을 commit 하기 위해 staging area에 등록하는 데 사용하는 명령어
- git commit
- staged 상태의 내역을 최종적으로 저장소에 반영하는 명령
- -a 옵션은 add를 동시에 수행하며, -m 옵션은 간단한 commit 메시지 작성을 위해 사용한다.
- git commit --amend
- git status가 clean한 상태에서 최신 커밋(마지막 커밋) 내용을 수정한다.
- 부가적으로 설명하면, 마지막 커밋의 내용을 수정하는 것이 아니라, 마지막 커밋을 대체하는 새로운 커밋을 만드는 것이다.
- 해당 커밋의 체크섬 값이 변화하는 것을 확인할 수 있다.
- 이미 remote repository에 push한 경우 주의해서 사용한다.
- git status가 clean한 상태에서 최신 커밋(마지막 커밋) 내용을 수정한다.
- git status
- 현재 저장소의 상태 확인을 위한 명령
- 추적되지 않은 파일이 있거나 변경되었는데 commit되지 않은 내역 등을 알려준다.
- git branch
- 해당 명령 자체로는 어떠한 branch가 존재하는지 확인할 수 있다.
- -a 옵션 또는 -r 옵션을 이용하여 원격 저장소의 연결된 브랜치를 확인할 수 있다.
- git branch [ BranchName ]
- 해당 브랜치를 생성한다.
- git checkout [ BranchName ]
- 해당 브랜치로 체크아웃한다.
- -b 옵션을 통해 브랜치를 생성하면서 동시에 체크아웃할 수 있다.
- git merge [ BranchName ]
- 현재 작업중인 branch에 명시한 branch를 병합한다.
- git log
- -5와 같이 옵션을 사용해 해당 개수만큼 로그를 확인할 수 있다.
Remote Repository를 위한 Git Command
- git clone https://github.com/user-name/repository-name.git
- 위의 형태로 원격 저장소의 내용을 로컬 저장소로 가져올 수 있다.
- clone 한 저장소의 별칭은 따로 명시하지 않으면 origin으로 지어진다.
- git remote add origin https://github.com/user-name/repository-name.git
- 원격 저장소와 로컬 저장소를 연결한다.
- 위의 경우는 origin이라는 별칭으로 현재 로컬 저장소와 링크로 명시한 원격 저장소를 연결한다.
- git remote -v
- 원격 저장소와의 연결을 확인할 수 있다.
- git push
- 기본적으로 commit을 원격 저장소의 master branch에 업로드한다.
- 또한, 다양한 옵션을 통해 특정 branch를 가져오거나 업로드할 수 있으며 tag를 업로드할 수 있다.
- git push origin [ --all | BranchName ]
- 현재 로컬 저장소의 모든 branch를 별칭에 해당하는 원격 저장소에 업로드한다.
- 만약 원격 저장소에 로컬 저장소에서 업로드하는 이름의 branch가 없다면 새로 생성한다.
- git pull & git fetch
- 원격 저장소의 정보를 가져와 로컬 branch에 merge까지 수행한다.
- 즉, fetch + merge의 형태이다.
- pull을 사용하면 병합되면서 변경된 프로젝트의 세세한 부분을 파악할 수 없다.
- 따라서 팀 프로젝트에서 권고되지 않으며, fetch를 이용해 원격 저장소의 커밋을 가져오고 로컬 저장소에서는 이를 수동으로 merge 하는 방법이 권고된다.
- 원격 저장소의 정보를 가져와 로컬 branch에 merge까지 수행한다.
기타 명령어
- git tag [태그 내용] [commit checksum]
- 특정 커밋을 참조하는 태그를 붙인다.
- 간단하게 이름만 붙이는 light weight tag와 보다 많은 정보 전달을 위한 annotated tag가 있다.
- 보통 배포 버전을 명시하는데 활용된다.
- git tag -l
- 현재 저장소에 존재하는 태그의 리스트를 출력한다.
- git show-ref --tags
- 태그와 함께 태그가 붙은 commit의 체크섬 값을 같이 출력한다.
- git tag -a [태그 내용] [commit checksum]
- annotated 태그를 붙인다.
- 해당 명령을 수행하면 에디터가 실행된다.
-
보통 언제, 누가, 왜 이 태그를 붙였는지 입력한다.
-
- git show [tag]
- 태그를 확인한다.
- git push [remote repository] [branch] --tags
- 로컬의 특정 branch의 모든 태그를 명시한 별칭의 원격 저장소에 push
- oriigin master가 기본값
'# Useful:Tools > Git' 카테고리의 다른 글
[Git] 여러 저장소를 단일 저장소로 병합하기(합치기) (1) | 2020.02.19 |
---|---|
[Git] subtree를 이용해 프로젝트 분리하기 (0) | 2019.12.19 |
Git 저장소 만들기(git init, git clone) (0) | 2019.12.18 |
Git의 세 가지 상태 (0) | 2019.12.18 |
[Git] 시작하기 - 최초 설정, 사용자 이름과 이메일 설정 (0) | 2019.12.18 |