지점을 보관하지 않습니다. 다른 방법으로, 브랜치 자체 보관하십시오. 당신이 원하는 것은 고고학자와 관련된 정보를 신뢰할 수있는 방법으로 찾을 수 있도록하는 것입니다. 일상적인 개발을 지원하고 작업 수행 프로세스에 추가 단계를 추가하지 않는다는 점에서 신뢰할 수 있습니다. 즉, 사람들이 지점을 완성하면 태그를 추가하는 것을 기억하지 않을 것입니다.
여기에 두 가지 간단한 단계의 그 도움 고고학 크게 의지 와 개발.
- 간단한 이름 지정 규칙을 사용하여 각 작업 분기를 이슈 트래커의 관련 이슈와 연결하십시오 .
- 항상
git merge --no-ff
작업 분기를 병합 하는 데 사용하십시오 . 단 하나의 커밋에 대해서도 병합 커밋과 히스토리 버블을 원합니다.
그게 다야. 왜? 코드 고고학자로서, 브랜치에서 어떤 작업이 수행되었는지 알고 싶어하는 경우는 거의 없습니다. 훨씬 더 자주 그것은 비명을 지르는 9 개의 지옥에서 코드가 이런 식으로 작성된 이유입니다! 코드를 변경해야하지만 이상한 기능이 있으며 중요한 것을 깨뜨리지 않기 위해 문제를 해결해야합니다.
다음 단계는 git blame
연관된 커밋을 찾은 다음 로그 메시지가 설명되기를 바랍니다. 더 깊이 파고 들어야 할 경우, 작업이 지점에서 수행되었는지 확인하고 지점을 전체로 읽습니다 (문제 추적기의 주석과 함께).
git blame
커밋 XYZ의 포인트를 가정 해 봅시다 . Git 히스토리 브라우저 (gitk, GitX git log --decorate --graph
등)를 열고 XYZ 커밋을 찾아서 ...
AA - BB - CC - DD - EE - FF - GG - II ...
\ /
QQ - UU - XYZ - JJ - MM
내 지점이 있습니다! QQ, UU, XYZ, JJ 및 MM은 모두 동일한 지점의 일부이므로 자세한 내용은 해당 로그 메시지를 확인해야합니다. GG는 병합 커밋이 될 것이며 추적기의 문제와 관련이있는 지점의 이름을 갖습니다.
어떤 이유로 든 이전 분기를 찾으려면 git log
병합 커밋에서 분기 이름을 실행 하고 검색 할 수 있습니다 . 매우 큰 리포지토리에서도 충분히 빠릅니다.
그것이 브랜치 자체를 보관한다고 말할 때의 의미입니다.
모든 브랜치에 태그를 지정하면 작업을 수행하는 데 불필요한 작업이 추가되고 (무자비하게 간소화되어야하는 중요한 프로세스), 매우 가끔 유용하고 수백 개의 태그로 태그 목록 (성능에 대해서는 말하지 않지만 사람의 가독성)을 강조합니다. ' 심지어 고고학에 매우 유용합니다.
git checkout [rev] file