스테이지 파일, 덩어리 및 선택된 라인
커밋에는 준비한 내용만 포함됩니다. GitTree에서는 전체 파일, 그 중 한 덩어리 또는 diff에서 선택한 줄만 스테이징하고 나머지 편집 내용은 나중에 커밋할 수 있도록 작업 폴더에 유지됩니다.
GitTree 무료로 작동: 로그인하면 모든 로컬 Git 기능이 제공됩니다.
시작하기 전에
- 저장소가 열려 있고 변경 사항이 있습니다. 그래프 상단의
// WIP행에 변경 사항이 계산됩니다. - 스테이징은 다음 커밋만 준비합니다. 파일과 리모컨에서는 아무것도 변경되지 않습니다.
어디서 찾을 수 있나요?
- Working Changes 패널: 그래프 상단에 있는
// WIP행을 선택하거나 커밋 세부정보 위의 파란색 막대에서 View Changes를 선택합니다. - 파일의 차이점: Unstaged Files 또는 Staged Files에서 파일을 선택합니다. 덩어리와 라인 컨트롤로 중간에 열립니다.
- Stage File, Unstage File 및 Discard Changes to File…에 대한 파일 행에 마우스를 올려 놓습니다.
| 액션 | macOS | Windows 및 Linux |
|---|---|---|
| Stage 선택한 파일(파일 목록에서) | S | S |
| Unstage 선택한 파일(파일 목록에서) | U | U |
| 차이점의 다음 변경 사항 | F7 | F7 |
| 차이점의 이전 변경사항 | ⇧F7 | Shift+F7 |
| Commit | ⌘Enter | Ctrl+Enter |
단계
전체 파일 스테이지
파일에 마우스를 놓고 Stage File을 선택하거나 하나 이상의 파일을 선택하고 S를 누릅니다. Stage All Changes는 모든 파일을 한 번에 준비합니다. 준비된 파일은 Staged Files로 이동합니다. Unstage File(또는 U)는 하나를 뒤로 이동합니다.
1단계 큰 덩어리 또는 선택한 라인만
파일을 선택하여 차이점을 엽니다. 각 변경 블록(덩어리)에는 Stage Hunk이 있습니다. 스테이지를 줄이려면 원하는 변경된 줄 옆에 있는 상자를 선택한 다음(Shift+클릭으로 범위 선택) 선택되는 줄 수를 표시하는 막대에서 Stage Lines를 선택합니다.

InviteDialog.tsx의 두 줄이 선택되어 준비되었습니다. 파일의 나머지 부분은 스테이지되지 않은 상태로 유지됩니다.데모 저장소와의 GitTree 인터페이스입니다.커밋할 내용을 확인하세요.
Staged Files 아래에서 파일을 선택하세요. 이제 diff에는 사용자가 준비한 내용만 표시되며, Unstage Hunk 및 Unstage Lines을 사용하여 파일의 일부를 다시 가져올 수 있습니다. 커밋 버튼은 커밋할 파일 수를 지정합니다.
예상되는 결과
파일은 두 목록, 즉 Staged Files 아래에 준비된 줄과 Unstaged Files 아래의 나머지 줄에 나타날 수 있습니다. 디스크의 파일에는 여전히 모든 편집 내용이 보관되어 있습니다.
커밋하면 준비된 부분만 커밋에 포함됩니다. 계속하려면 커밋을 작성하고 생성하세요.
스테이징 제어
| 제어 | 어디 | 기능 |
|---|---|---|
| Stage All Changes | Unstaged Files 이상 | 변경된 모든 파일을 스테이지하며 새 파일도 포함됩니다. |
| Stage File / Unstage File | 파일 행(호버) 또는 목록의 S 및 U | 목록 간에 전체 파일을 이동합니다. |
| Stage Hunk / Unstage Hunk | diff의 각 덩어리 위에 | 해당 라인 블록을 스테이지하거나 언스테이징합니다. |
| Stage Lines / Unstage Lines | 라인을 선택할 때 나타나는 막대에서 | 선택한 라인만 스테이지하거나 언스테이징합니다. Clear이 선택 항목을 삭제합니다. |
| Stage Changes to Commit | 아무것도 준비되지 않은 동안 커밋 버튼 | 모든 변경 사항을 먼저 준비한 다음 커밋할 수 있습니다. |
전체적으로 단계적으로 변경되는 변경사항
일부 변경 사항에는 선택할 줄이 없으므로 GitTree는 바이너리 파일, 이름 바꾸기 및 복사, Git LFS 포인터, 하위 모듈 변경 및 파일 모드 변경(콘텐츠와 함께 준비됨)과 같은 파일 수준 작업만 제공합니다.
diff에서 공백을 숨기고 파일에 공백만 변경된 경우 줄을 선택할 수 없습니다. 먼저 Show Whitespace을 선택하거나 전체 파일을 준비하세요.
뭔가 잘못되면
커밋 버튼에 Stage Changes to Commit이라고 표시되어 있습니다.
아직 아무것도 준비되지 않았습니다. 원하는 파일, 덩어리 또는 줄을 준비하거나 커밋하기 전에 모든 것을 준비하는 버튼을 선택하세요.
“표시된 이후 차이점이 변경되었습니다.”
diff가 나타난 후 파일이 디스크에서 변경되었으므로(편집자가 이를 저장했습니다) GitTree은 더 이상 일치하지 않는 선택 항목을 준비하는 것을 거부했습니다. 새로 고쳐진 diff를 보고 라인을 다시 선택하세요.
실수로 줄을 버렸어요
Discard Lines 및 Discard Hunk는 먼저 복구 스냅샷을 저장합니다. 툴바(Mac에서는 Ctrl+Z, ⌘Z)에서 Undo를 선택하여 다시 가져옵니다(실행 취소 및 다시 실행).
질문
이것은 git add -p와 동일합니까?
동일한 작업을 수행합니다. 즉, 파일의 일부를 인덱스에 넣습니다. 프롬프트에 한 덩어리씩 대답하는 대신 전체 차이점을 보고 원하는 줄을 선택합니다.
선택한 선은 서로 옆에 있어야 합니까?
아니요. 파일에서 변경된 줄을 한 덩어리 또는 여러 줄로 선택하고 함께 스테이징하세요.
