magit으로 쉽게 체리를 선택하는 방법은 무엇입니까?


40

나는 지금 몇 달 동안 magit을 사용하고 있었고 그것을 많이 좋아합니다. 그러나 터미널에서 여전히 수행하는 한 가지는 체리 따기입니다.

이를 수행하는 간단한 방법은 무엇입니까?

답변:


31

Magit 버퍼에 커밋이있는 곳이라면 어디에서든 포인트를 이동 하고을 입력하여 체리 픽을 선택할 수 있습니다 A A. 한 번에 여러 커밋을 체리 픽 (pick) 할 수도 있습니다 A A. 리전을 사용하여 커밋을 선택한 다음를 누릅니다 .


45

Magit 버전 <= 1.4.2

아주 쉽습니다 :

  1. 개요 입력 magit-status
  2. b b체리를 넣을 지점을 확인하십시오 (를 누르십시오 ).
  3. l r l체리 범위를 선택하려는 커밋을 찾으려면 로그 범위를 누르십시오 (을 누르십시오 ). 여기에서 비교하려는 두 가지를 선택하십시오.
  4. 선택하려는 커밋으로 스크롤 A하고을 눌러 변경 사항을 적용하고 커밋 메시지와 함께 변경 사항을 준비하십시오. 이 버튼을 누르면 a변경 사항이 적용되지 않고 변경 사항 만 적용됩니다.

체리 선택을 위해 로그 범위를 수행하지 않아도됩니다. 커밋 로그를 볼 때마다를 눌러 A체리를 선택할 수 있습니다.

Magit 버전> = 2.1.0

magit을 2.1로 업그레이드 한 후 워크 플로가 다릅니다. 두 가지 방법 모두 먼저 시작해야합니다 magit-status.

방법 A : Cherry Pick은 다른 지점에서 하나씩 변경

  1. 를 누른 l다음 o다른 지점 목록을 얻으십시오.
  2. 체리 피킹하려는 지점을 선택하십시오.
  3. 필요한 커밋으로 이동 한 A다음을 A다시 누릅니다 .
  4. 상태 표시 줄에 선택한 커밋이 표시됩니다

    예 : feature/ABC~4

    Enter변경 사항을 적용하려면 누릅니다 .

방법 B : 체리 다른 지점에서 모든 변경 사항을 선택

  1. A체리 선택 모드를 선택하려면 누릅니다 .
  2. A다시 누르면 변경 사항이 적용되고 커밋됩니다. a변경 사항 만 적용하려면 누릅니다 .
  3. 벚나무 변경점을 선택할 지점을 선택하고를 누릅니다 Enter.

병합 충돌을 더 잘 처리 할 수 ​​있으므로 개인적으로 방법 A를 선호합니다.


8

나는 체리 따기를 사용하지만 타격하지 않습니다 ?magit-status보여줍니다 y: Cherry. 이 명령을 실행하면 magit-cherry헤드와 업스트림을 선택할 수 있습니다. 이것이 당신이 원하는 것 같습니다.

C-h r d m Magit RETMagit 매뉴얼을 읽기 위해 타이핑 할 수 있습니다 . C-s cherry히트 C-s를 반복해서 사용 하여 매뉴얼을 검색 할 수 있습니다. 정보가 섹션 23에있는 것 같습니다.

편의점 중 하나는 git어떤 커밋이 업스트림으로 병합되었지만 로컬이 아닌 그 반대로 커밋되었는지 알 수 있다는 것입니다. 이것에 대한 Git의 하위 명령은와 cherry혼동해서는 안됩니다 cherry-pick. Magit은 기본적으로 magit-cherry바인딩되어있는 호출을 통해 이를 지원합니다 y.

그런 다음 Magit은 먼저 업스트림 개정 (현재 추적 된 원격 분기가있는 경우 기본값)과 헤드 개정 (기본값은 현재 분기)을 비교에 사용하도록 요청합니다. 그러면 모든 커밋이 방향 마커, 수정본 및 커밋 메시지의 첫 번째 줄과 함께 나열되는 새 버퍼가 표시됩니다. 방향성 마커는 +업스트림에는 있지만 -커밋되지 않은 커밋을 나타내 거나 헤드에는 있지만 커밋되지 않은 커밋을 나타냅니다.

이 목록에서 개별 커밋 a을 체리 따기 (일반 커밋 하지 않고 체리 따기 및 A 자동 커밋)에 일반적인 키 바인딩을 사용할 수 있습니다 . 각 체리 픽 후 버퍼가 자동으로 새로 고쳐집니다.


1
Magit 매뉴얼을 호출 할 때 C-h i대신에 키 스트로크를 저장할 수 있습니다 C-h r d. 그러면 정보의 최상위 수준으로 바로 이동합니다.
itsjeyd

1
@itsjeyd Nahh C-h i는 마지막으로 열어 본 정보 파일로 이동 하므로을 누르면 C-h i mSICP의 모든 챕터 메뉴 대신 챕터 메뉴를 볼 수 있습니다. d을 치 C-h i거나 치기 C-h r전에 때리면 정보 디렉토리에있게됩니다 m.
nanny

그것은 좋은 트릭입니다, 나는 그것에 대해 몰랐습니다! 또한, 완전히 다른 주제 : SICP의 정보 버전?! 사본은 어디서 구할 수 있습니까? :)
itsjeyd

@itsjeyd 내 Dropbox에 보관 했는데
nanny

1
감사! MELPA를 확인한 결과 해당 저장소에서 빌드 된 패키지가있는 것으로 나타났습니다. 그래서 쉽게로 SICP의 정보 버전입니다 설치 M-x package-install RET sicp RET:)
itsjeyd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.