저는 개발자 팀에 git을 소개하고 있는데 gitk가 놀라운 도구라는 것을 알게되었습니다. gitk를 이해하려면 git 히스토리와 뷰어 도구 자체에 대한 이해가 필요하기 때문에 이해하기도 매우 어렵습니다.
누구든지 "gitk를 사용한 git 역사에 대한 초보자 가이드"와 같은 좋은 언급이 있습니까?
저는 개발자 팀에 git을 소개하고 있는데 gitk가 놀라운 도구라는 것을 알게되었습니다. gitk를 이해하려면 git 히스토리와 뷰어 도구 자체에 대한 이해가 필요하기 때문에 이해하기도 매우 어렵습니다.
누구든지 "gitk를 사용한 git 역사에 대한 초보자 가이드"와 같은 좋은 언급이 있습니까?
답변:
나는 gitk에 대해 특별히 본 적이 없습니다. 여기에 "작동 방식"의 관점에서 찌르는 것이 있습니다. 모든 것 (또는 적어도 일반적으로 동등한 것) 뒤에있는 명령을 아는 것은 명령 줄 도구를 더 쉽게 사용하는 방법을 배우는 데 도움이되며 gitk를 더 잘 이해하기 위해 문서에서 찾을 위치를 보여줍니다!
이것은 지난 몇 가지 주요 버전에서 다소 변경되었습니다. 현재 상태를 설명하고 있습니다.
업데이트 및 새로 고침 : 이것은 아마도 가장 혼란스러운 일입니다. 다시로드는 동일한 구성으로 프로그램을 다시 시작한 것처럼 모든 것을 새로 고칩니다. 즉, 분기가 제거 / 리베이스 된 경우 일부 커밋이 현재 매달려 있으면 더 이상 볼 수 없습니다. 반면 업데이트는 모든 정보를 새로 고치지 만 이전에 표시된 모든 커밋을 계속 표시합니다. 이것은 당신이 rebasing하고 있고 당신이 엉망이되지 않았는지 확인하고 싶을 때 사용하기에 훌륭한 것입니다-당신은 원본과 rebased 버전을 모두 볼 수 있습니다.
참고 문헌 : 꽤 분명합니다. 참조에는 태그와 분기 (원격 일 수 있음)가 포함됩니다. 다시 읽을 수 있으며 특정 항목을 클릭하여 기록에 표시 할 수 있습니다.
는 AS man 페이지는 말한다, gitk이 소요 자식-REV-목록의 역사를 표시해야하는지 지정 도움에 옵션을. "보기"메뉴에서 대화식으로 설정할 수도 있습니다. 맨 페이지는 뷰를 제어 할 수있는 방법에 대한 자세한 정보를 찾을 수있는 훌륭한 장소입니다 (대부분 커밋 제한 섹션에 있음). 당신이 검토 한 경우 git-log
먼저이 많이 본 것입니다.
여기에 키 바인딩 목록이 있습니다! 단.
이것은 일반적으로 공통 / 기본 작동 모드에서 몇 가지 일반적인 git porcelain 명령을 제공합니다. 그것들을 나열하면 최소한 그들이 무엇을하는지 이해하는 데 적합한 문서를 찾는 데 도움이 될 것입니다.
이 시점에서 "커밋 표시"및 관련 명령은 자명해야합니다.
브랜치의 컨텍스트 메뉴에는 git-checkout 과 -d
git-branch 의 (삭제) 모드가 있습니다.
SHA1 ID : 현재 커밋의 해시입니다. gitk를 사용하여 찾은 커밋에 대한 작업을 수행하기 위해 터미널에 복사 / 붙여 넣기하는 데 매우 유용합니다. 여기에 해시를 붙여 넣을 수도 있습니다.
앞으로 / 뒤로 버튼, 행 번호 ... 당연합니다!
찾기! 여기에서 옵션은 꽤 자명하지만, 모든 사람의 교육을 위해 git-log 매개 변수 와 유사합니다 . "포함"은 --grep
, "접촉 경로"는 인수, 추가 / 제거 문자열은 -S
(곡괭이)입니다.
여기에 git-diff의 출력과 함께 커밋 메시지가 있습니다. 이것은 git-log -p
약간의 추가 사항이있는 using과 같은 것입니다 .
"지점"은 다음과 같습니다. git branch -a --contains=<commit>
"Precedes"/ "Follows"는 git describe [--contains] <commit>
( git-describe )
git commit -a
또는 git add
gitk이있다. 내가 놓친 것이 있습니까?
git gui
. 이 질문은 gitk에 관한 것이며 gitk는 본질적으로 히스토리 브라우징 도구입니다 (약간의 분기 조작 포함).
다음은 스크린 샷과 함께 gitk의 분기 기록 시각화에 대한 소개입니다.
http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/
- 왼쪽 상단 창에는이 저장소에 대한 일련의 커밋이 표시되며 가장 최근 항목이 맨 위에 표시됩니다.
- 토니 스타크가 세 가지 커밋을했습니다.
- 가장 최근 커밋에 대한 커밋 메시지는 "세 번째 커밋"이었습니다.
- "master"라는 단일 로컬 브랜치가 있으며 가장 최근 커밋을 가리 킵니다.
- 단일 원격 참조 분기가 있습니다. "origin"이라는 원격 저장소의 "마스터"분기는 또한 가장 최근 커밋을 가리 킵니다.
- 상단 커밋 옆의 노란색 점은 현재 내 작업 폴더에있는 스냅 샷임을 나타냅니다 (HEAD라고 함).
- 두 번째 커밋을 강조 표시하여 아래쪽 창에서 세부 정보를 볼 수 있습니다.
- 두 번째 커밋의 커밋 SHA (Subversion 개정 번호와 유사한 고유 식별자)는
3d024dd9e4a83d8c6a9a143a68b75d4b872115a6입니다.- 오른쪽 아래에는 두 번째 커밋의 영향을받는 파일 목록이 표시됩니다.
- 왼쪽 하단은 전체 차이를 포함한 커밋 세부 정보를 보여줍니다.
- 오른쪽 아래 창에서 파일을 클릭하면 왼쪽 아래 창의 diff가 해당 섹션 12로 스크롤됩니다.
초보자들이 "gitk와 히스토리의 결합"이라는 관점에서 실제로 사용할 수있는 것은 gitk 트리 뷰를보고 무슨 일이 일어 났는지 인식하는 방법에 대한 구체적인 설명입니다.
내가 얻은 한-나무를 보는 올바른 방법은 (물론)입니다.
1. each node is a commit
2. ultimate parent is at the bottom
3. direct child to a commit is the one that happened first in the same branch (no matter who did it)
4. the node with 2 or more children indicates ... ?
5. merge commit node has 2 parents.
6. rebase is recognized ... ?
스크린 샷도 감사하겠습니다.
트리는 실제로 저장소의 현재 상태를 나타냅니다. 트 리뷰를보고 무슨 일이 일어 났는지 알 수 있다면 좋을 것입니다.
감사
V.
gitk 인터페이스에서 유용하다고 생각되는 유일한 것은 멋진 (다채로운) 브랜치 개요입니다.
git 용 GUI가 필요한 경우 Windows의 TortoiseGit 또는 Mac의 GitX 또는 Linux의 QGit를 확인하십시오.