머지와 리베이스
사이드바에서
브랜치를 우클릭하면 현재 브랜치에 머지나 여기로 리베이스가 나와요. 평범한 머지가 자꾸 어긋나는 경우라면 **옵션을 지정해 머지…**를 고르세요. 머지 옵션을 참고하세요.
레퍼런스를 다른 레퍼런스 위로 끌어다 놓기
이 앱에서 가장 빠른 동작이에요. 브랜치를 집어 들어 다른 브랜치 위에 놓으세요. Gitcito가 그 놓기가 뜻할 수 있는 것들을 작은 메뉴로 보여 주고, 고르기 전까지는 아무 일도 하지 않아요.

레퍼런스가 보이는 두 곳 모두에서 동작해요. 사이드바의 브랜치·원격·태그 행에서, 그리고 그래프 안의 색깔 있는 ref 배지에서요. 어느 조합으로든 서로 끌어다 놓을 수 있고, 마우스를 올리고 있는 동안 놓을 대상이 강조돼요.
| 놓기 | 뜻 |
|---|---|
| {source} → {target} 머지 | 대상을 체크아웃한 뒤 출처를 그 안으로 머지해요 |
| {source}를 {target} 위로 리베이스 | 출처의 커밋들을 대상 위에 다시 얹어요 |
| 비교 | 비교를 열어요 — 아무것도 바꾸지 않아요 |
메뉴는 git이 할 수 있는 것만 제안해요. 머지는 대상 위에 커밋을 만들기 때문에 대상은 로컬 브랜치여야 해요 — 태그나 원격 추적 레퍼런스 안으로는 머지할 수 없어요. 리베이스는 출처를 다시 쓰기 때문에 출처가 로컬 브랜치여야 하고요. 태그를 원격 브랜치 위에 놓으면 제안되는 것은 비교뿐인데, 진짜로 그것밖에 없기 때문이에요.
리베이스는 먼저 확인을 물어봐요. 다시 얹은 커밋마다 새 해시를 주기 때문에, 브랜치가 이미 공개돼 있다면 강제 푸시가 필요해지거든요. 머지는 물어보지 않아요 — 더하기만 하니까요. 어느 쪽이든 되돌리기 한 번이면 원래대로 돌아가요.
머지
가능하면 fast-forward로, 아니면 위상을 기록으로 남기고 싶을 때는 머지 커밋을 강제할 수 있어요. 충돌이 나면 해결 도구로 넘어가요.
어떤 두 레퍼런스든 비교하기
기준과 비교 대상 레퍼런스를 고르세요 — 브랜치, 태그, 또는 SHA 그대로도 되고, 서로 바꾸는 버튼도 있어요. 그러면 앞섬/뒤처짐 개수, 각 쪽에만 있는 커밋, 합쳐진 전체 diff, 그리고 클릭 한 번으로 PR 열기로 넘어가는 길이 나와요.

사이드바(현재 브랜치와 비교), 도구 메뉴, 또는 ⌘K로 갈 수 있어요.
체리픽, 리버트, 리셋
체리픽과 리버트는 늘 그랬듯 그래프의 컨텍스트 메뉴에 있어요. 리셋은 항목 하나 — 커밋으로 리셋… — 가 됐어요. 서로 모순되던 soft/mixed/hard 세 개의 날것 항목 대신에요.
수정, 되돌리기, 리셋은 단일 커밋 메뉴의 맨 위에 놓이고, 안전하지 않을 때도 사라지지 않아요. 비활성화되고, 이유를 알려 주는 툴팁이 붙어요. 되돌리기는 푸시하지 않은 HEAD 전용이에요. 수정은 공개된 HEAD에도 허용되지만, 강제 푸시가 필요해질 거라고 경고해요. 리셋은 로컬 조상과 첫 번째 공개된 커밋까지만 닿아요 — 그보다 오래된 임의의 히스토리에는 닿지 않아요.
리셋 대화 상자는 모드를 분명하게 보여 줘요:

| 모드 | 결과 |
|---|---|
| Soft | 변경을 스테이징된 채로 남겨요 |
| Mixed | 변경을 스테이징하지 않은 채로 남겨요 |
| Hard | 커밋과 그 변경을 버려요 |
Hard가 미리 선택되어 있는 일은 절대 없어요. 작업 트리가 더럽혀져 있으면 경고가 하나 더 붙어요. 리셋이 진행 중인 작업을 덮어쓰거나 충돌시킬 수 있으니까요. GitHub에서 보기는 복사 동작들 옆에 있고, github.com 원격에 공개된 커밋에 대해서만 열려요.
커밋을 여러 개 선택해 두면 체리픽이 선택 전체를 순서대로 적용해요.
무언가를 머지하기 전에
충돌 레이더가 모든 브랜치를 기준 하나에 대고 훑어서, 어느 브랜치가 싸움을 일으킬지 알려 줘요. 아무것도 체크아웃하지 않고서요.