간단한 GIT command 정리.
회사에서는 형상관리팀이 존재하고, repo와 gerrit을 사용하여 편하게 소스 관리를 하고있다.
Command | Description |
---|---|
git config --global user.name <name> | 사용자 이름을 설정한다. |
git config --global user.email <email> | 사용자 이메일을 설정한다. |
git clone <url> | 저장소(remote)로부터 소스를 가져온다. |
git branch <new-branch> | Local에 새로운 branch를 만든다. |
git branch | Local에 있는 branch들을 확인할 수 있다. |
git checkout <branch> 또는 <filename> | <branch>를 사용할 경우 branch를 변경하고, <filename>인 경우 add를 통해 stage에 올린 file을 내릴 수 있다. |
git push origin <branch name> | Local에서 생성한 branch를 저장소에 push한다. |
git diff | 현재 수정사항이 무엇을 변경한 것인지 확인할 수 있다. |
git status | 수정한 파일들의 현재 상태를 나타낸다. |
git add -A | 수정한 소스들을 stage area에 올린다. |
git commit [-m “description”] | 새 commit을 생성한다. -m 옵션을 사용하면 한 줄 짜리 commit 내용을 만들 수 있다. |
git commit --amend | 한 번 commit 작성 후 다른 commit을 생성하고 싶지 않을 때, 수정하고 git add -A 하고 git commit --amend 를 하면 commit id를 새로 생성하지 않아도 된다. |
git push | 작성한 commit(들)을 저장소로 업로드한다. |
git revert <commit id> | push한 commit을 제거한다. |
git log [–author <username>] | <username>이 반영한 commit들을 볼 수 있다. |
git blame <filename> | <filename> line 별로 누가 반영한 것인지 확인할 수 있다. |
git merge <source branch> | <source branch>의 내용을 현재 branch에 merge한다. |
git reset [–hard HEAD^] | 강제로 HEAD^ 상태로 돌린다. HEAD^ 에는 commit id를 넣어도 된다. |
그리고 아래는 Github를 사용하면서 배운 내용이다.
원본 프로젝트를 fork해온 후 원본 프로젝트의 변경 사항을 merge하는 방법
순차적으로 수행하면 된다.
Command | Description |
---|---|
git remote add –track master upstream 원본저장소.git | git remote는 새로운 원격 저장소를 추가하는 명령어이다. 원본 저장소를 upstream으로 등록한다. |
git fetch upstream | upstream(원본 저장소)으로부터 data를 받아온다. |
git merge upstream/master | |
git push | 별도의 옵션을 붙이지 않으면 내 저장소로 변경 사항(merge)을 push한다. |