재작성 전과 후의 커밋 비교
What Changed…는 두 개의 커밋 시리즈, 즉 재작성 전 분기와 이후 분기의 패치를 비교합니다. 병합 커밋은 생략됩니다. 쌍은 Same, Changed, Dropped 또는 Added로 표시됩니다. 비교는 참조를 이동하거나 파일을 변경하지 않습니다. 페어링은 두 커밋이 동일한 것을 의미한다는 증거가 아닙니다.
GitTree 무료로 작동합니다. 모든 로컬 Git 기능은 계정이 필요하지 않습니다.
시작하기 전에
- 변경된 사항은 무료 플랜의 일부입니다. PATH의 Git은
git range-diff을(를) 제공해야 합니다. 그렇지 않은 경우 GitTree에서는 이 Git이 다시 작성된 시리즈를 비교할 수 없다고 말합니다. - 아직 두 가지 팁이 모두 남아 있습니다. 리베이스 후에는 이전 팁이 리플로그에 있는 경우가 많습니다. 분실물은 분기가 지정되지 않은 커밋을 찾을 수 있습니다.
어디서 찾을 수 있나요?
- 커밋의 Compare 메뉴: What Changed….
- 강제 푸시 후 알림입니다.
Alt+D또는 명령 팔레트입니다.
| 액션 | macOS | Windows 및 Linux |
|---|---|---|
| What Changed… | ⌥D | Alt+D |
| 명령 팔레트 | ⌘⇧P | Ctrl+Shift+P |
단계
두 가지 팁을 선택하세요
Before rewrite을 이전 팁으로 설정하고 After rewrite을 새 팁으로 설정합니다. Choose both tips 한쪽이 비어 있는 경우. Advanced: excluded bases에서 Old base 및 New base는 범위를 제한합니다. 팁의 공통 조상을 사용하려면 베이스를 비워 두세요.
비교
Compare를 누르세요. Stop는 읽기에게 현재 단계를 완료하도록 요청합니다. 결과는 Rewrite comparison입니다. 각 쌍은 Same, Changed, Dropped 또는 Added입니다. Inspect patch difference는 한 쌍을 엽니다. No patches differ in these ranges은 시리즈 일치를 의미합니다.
게시하기 전에 검토하세요.
메모에는 게시하기 전에 변경된 패치를 검토하라는 내용이 나와 있습니다. Changed 쌍은 차이점이 다른 동일한 패치 슬롯입니다. Dropped는 이전 시리즈에만 있었습니다. Added은(는) 새 시리즈에만 있습니다. 이 대화상자에서는 아무 것도 푸시되지 않습니다. 준비가 되면 일반 푸시를 사용하거나 원격 저장소에 여전히 이전 팁이 있는 경우 임대를 통한 강제 푸시를 사용하세요.
예상되는 결과
재작성 후에도 살아남은 패치, 편집된 패치, 나타나거나 사라진 패치의 이름을 지정할 수 있습니다. 브랜치, 인덱스, 워킹 트리는 그대로입니다. 다른 사람에게 새 기록을 사용하도록 요청하기 전에 변경된 쌍의 패치를 확인하십시오.
힘내 명령
GitTree는 두 범위에서 git range-diff를 실행합니다. 터미널에서 동일한 비교를 실행할 수 있습니다. oldtip...newtip은 병합 기반을 사용합니다. 4개의 개정판을 통과하면 두 가지 기반이 모두 직접 설정되며, 이는 고급 필드에서 수행하는 작업입니다.
git range-diff oldtip...newtip
git range-diff oldbase..oldtip newbase..newtip
git reflog show featuregit reflog show feature는 리베이스 이전에 브랜치에 있었던 팁을 나열하므로 이전 팁을 Before rewrite에 붙여넣을 수 있습니다. Range-diff는 패치를 비교합니다. 두 개의 커밋 메시지가 동일한 작업을 설명하는지 결정하지 않습니다. 리베이스 및 대화형 리베이스는 재작성이 발생하는 방식입니다. 리베이스에 대한 튜토리얼 강의에서는 명령줄 형식을 보여줍니다.
각 쌍 상태의 의미
| 상태 | 의미 |
|---|---|
| 동일 | 패치는 두 시리즈 모두에서 일치합니다. |
| 변경됨 | 쌍이 일치하고 패치가 다릅니다. |
| 떨어졌다 | 패치는 이전 시리즈에만 있습니다. |
| 추가됨 | 패치는 새 시리즈에만 있습니다. |
병합 커밋은 생략되므로 예상한 병합은 삭제된 쌍이 아닙니다. Partial comparison: output reached its limit은 범위가 너무 넓다는 것을 의미합니다. 기지를 좁히십시오. Git output format was not recognized은 Git이 인쇄한 텍스트를 구문 분석할 수 없음을 의미합니다. 목록을 신뢰하기 전에 해당 텍스트를 검사하십시오.
비교를 실행할 수 없는 경우
Git에 range-diff가 없으면 GitTree는 This Git cannot compare rewritten series. Update Git, or use Compare in the command palette to inspect the two revisions.라고 말합니다. 일반적인 비교는 패치 시리즈가 아니라 두 트리의 차이점입니다. 설정 화면이나 Git 설정에서 Git을 업데이트한 다음 변경된 내용을 다시 엽니다.
뭔가 잘못되면
"이 Git은 다시 작성된 시리즈를 비교할 수 없습니다."
설치된 Git에는 범위 차이가 없습니다. Git을 업데이트한 후 다시 시도하세요. 그때까지 명령 팔레트에서 두 개정판을 비교하십시오. 해당 보기는 일련의 패치가 아닌 트리 차이입니다.
“두 가지 팁을 모두 선택하세요.”
다시 쓰기 전 또는 다시 쓰기 후가 비어 있습니다. Reflog나 Lost & Found에서 이전 팁을 선택하고 브랜치에서 새 팁을 선택하세요.
"일부 비교: 출력이 한계에 도달했습니다. 범위를 좁히십시오."
이전 베이스와 새 베이스를 각 면이 다시 작성된 스트레치로만 설정한 다음 비교를 다시 누릅니다.
"이 범위에서는 패치가 다르지 않습니다."
시리즈가 일치하거나 베이스가 관심 있는 커밋을 제외합니다. 공통 조상을 사용하기 위해 베이스를 지우고, 동일한 팁을 두 번 선택하지 않았는지 확인합니다.
질문
무엇이 변경되었나요? 내 브랜치가 변경되나요?
아니요. 두 개의 커밋 시리즈를 읽고 쌍 상태를 표시합니다. 참조와 파일은 현재 위치에 유지됩니다.
변경된 쌍이 동일한 커밋 ID입니까?
아니요. 리베이스는 새로운 커밋 ID를 작성합니다. 변경됨은 패치가 쌍을 이루고 차이점이 동일하지 않음을 의미합니다. 두 메시지가 동일한 의도를 기술하고 있다는 진술은 아닙니다.
병합 커밋이 누락되는 이유는 무엇입니까?
대화 상자에는 병합 커밋이 생략되었다고 표시됩니다. Range-diff는 병합 노드가 아닌 재작성의 각 측면에 있는 패치를 비교합니다.
리베이스 후 이전 팁은 어디에 있나요?
일반적으로 항목이 만료될 때까지 리플로그에 있습니다. Lost & Found는 해당 리프로그와 GitTree의 복구 참조를 가리키는 분기가 없는 경우 검색할 수 있습니다.
이것이 git diff를 대체합니까?
아니요. git diff는 두 나무를 비교합니다. git range-diff는 두 가지 패치 시리즈를 비교합니다. 다시 작성한 후 변경된 내용을 사용하세요. 트리 차이를 원할 경우 일반 비교를 사용하십시오.
