에피소드 22: 캘리포니아주 샌프란시스코의 Edward Lesmes 제공 (2021년 6월)
이전 에피소드
Depot 도구는 Chromium 코드베이스 및 관련 프로젝트에 기여하는 개발자의 워크플로를 간소화하기 위해 Git을 기반으로 빌드된 도구 모음입니다. 여기에는 코드를 가져오고, 변경사항을 업로드하여 검토하며, 결제를 최신 상태로 유지하는 등의 도구가 포함되어 있습니다.
코드 가져오기
빈 디렉터리에서 fetch chromium
를 실행합니다. fetch
명령어를 사용하여 v8 또는 webrtc와 같은 다른 저장소의 코드를 가져올 수도 있습니다. 전체 목록은 fetch help
를 참고하세요.
검토를 위해 변경사항 업로드
각 CL은 git의 단일 브랜치에 상응하므로 git new-branch <branch_name>
를 실행하여 새 브랜치를 만듭니다. 이 브랜치에 원하는 만큼 변경사항을 커밋하고 검토할 준비가 되면 git cl upload
를 실행합니다.
git cl issue
는 브랜치가 연결된 CL을 알려줍니다.
git cl issue <issue>
를 사용하여 변경하세요.
결제 최신 상태 유지
주기적으로 git rebase-update
를 실행하여 로컬 브랜치를 업스트림과 동기화하고 gclient sync
를 실행하여 third_party
저장소를 업데이트하고 사전 컴파일 후크를 실행합니다.
여러 CL 관리
git cl status
는 로컬 브랜치와 연결된 CL 및 상태 (전송되지 않음, lgtm, 종료 등)를 표시합니다.git freeze
및git thaw
는git stash
처럼 작동하지만 저장된 변경사항과 관련된 브랜치를 추적합니다.git map
는 모든 브랜치 기록을 보여주고git map-branches
는 모든 브랜치 간의 업스트림 관계를 보여줍니다.git new-branch --upstream_current <branch_name>
는 기존 브랜치 위에 새 브랜치를 만듭니다. 기본 브랜치를 변경한 후 종속 브랜치를 리베이스하려면git rebase-update
를 사용합니다.
다른 머신에서 기존 CL(CL)으로 계속 작업
git cl patch <issue_url>
를 실행하여 현재 브랜치 위에 있는 기존 CL을 선택합니다. 현재 브랜치를 패치된 CL과 연결합니다. git cl patch <issue_url> --reapply
를 사용하여 로컬 변경사항을 삭제하고 문제를 다시 적용합니다.
기타
Depot 도구 튜토리얼을 확인하고 각 명령어의 도움말 메시지를 살펴보고 멋진 기능을 모두 살펴보세요. 문제가 있으면 알려주세요.