Git 협업 관련 유용한 명령 모음


발생일: 2013.06.03

문제:
그 동안은 개인 프로젝트에서만 GitHub을 사용했는데,
이번에 회사를 옮기면서 회사 프로젝트에서도 GitHub을 사용할 기회가 생겼다.^^

GitHub을 여럿이서 적극적으로 사용해보는 건 처음이라, 팀원들끼리 여러 방법으로 실험해봤다.

다른 팀원들은 맥용 GUI 도구인 SourceTree 앱을 주로 사용하는데,
난 아직까지 커맨드라인이 익숙하고 편하다.

이번에 자세히 살펴보면서, 요긴하게 사용할 수 있는 몇 가지 명령어를 메모해뒀다.

해결책:


리모트를 포함한 브랜치 정보 보기
$ git branch -va

리모트 정보가 업데이트 필요할 때
$ git remote update


로그 보기
$ git log

그래프 형태로 보기
$ git log --graph

한 줄로 보기
$ git log --pretty=oneline

마지막 1개 커밋과 변경된 diff 를 함께 보기
$ git log -p -1

짧은 로그 보기
$ git shortlog

머지 로그를 제외하고 보기
$ git shortlog --no-merges


특정 커밋의 로그 보기
$ git show 커밋번호

브랜치는 커밋의 포인터이기 때문에 브랜치 이름을 사용해도 된다.
$ git show topic1

커밋 뒤에 ^를 붙이면 해당 부모를 찾는다.
아래 코드는 바로 전 커밋을 보여준다.
$ git show HEAD^


범위로 커밋 가리키기
.. 를 쓰면 범위로 커밋을 조회할 수 있다.

아래 커밋은 master 에는 없지만, topic1 에는 있는 커밋을 보여준다.
$ git log master..topic1

리모트 저장소를 대상으로도 비교할 수 있다.
$git log origin/master..topic1



이전 커밋에 덮어쓰기
$ git commit --amend

--amend 옵션으로 커밋하면, 이전 커밋과 다른 커밋 번호가 생성된다.


버그 찾기
git blame 명령을 사용하면, 해당 코드가 언제 수정되었는지 확인할 수 있다.

$ git blame -L 11,12 README.md 

위 코드는 README.md 파일의 11,12 번째 라인이 언제 수정되었는지 추적한다.
결과 목록에서 ^가 붙은 것은 해당 줄이 처음 커밋되었다는 얘기다.


카테고리

분류 전체보기 (710)
About me. (6)
Daylogs (675)
영어공부 (0)
My works - 추억 (29)
비공개 (0)