하는 방법 체 데리고 병합하는 단 하위 경로에서 특징점을 마스터

0

질문

나는 흥미로운 문제(에서 이상 나.)

master 점 및 feature 지되고 있는 헤어진 그것의 방법에서 master a while ago. 다른 팀 계속 업데이트 master 점 및 내 팀은 작업 feature 니다.

master 점 일부 변경 사항이 포함되어 있는 내 팀은 관심이 없습니다. 우리는 케어에 대한 그들의 app 폴더,그것입니다. 도 app 폴더,우리는지 관심이 모든 일에,변경된 내용만 우리가 생각하는 우리가 필요합니다. 우리는 우리의 병합 feature 점으로 그들의 master 이 있기 때문에 기술-stack 변화는 우리를 구현하고 우리가 필요로 하는 것만 그들은 그들의 JavaScript 코드입니다.

한편,우리는 또한 변화를 만들기에 feature 의점 app 폴더에 있습니다. 그래서 app 폴더,그들은 일부 변경되지 않는가,우리가 일부 변경하지 않는다. 우리는 유지하려는 우리의 모든 변경하지만,일부 선택의 그들의 변경합니다.

할 수 있는 방법에 대해 이동을 병합하들 master 의점 app 폴더로 우리의 feature 의점 app 폴? 나는 연구를 위한 시간,일부 VS 확장 코드를 미리 사이의 차이는 두 개의 폴더에 있습니다. 내가 찾는 인터페이스가 수락 또는 감소 로부터 오는 것은 모두 master 점의`응용 프로그램 폴더에 있습니다. 이것이 나의 기본,나는 어떤 제안을 하는 것이 이 문제를 해결합니다.

이 엉망이 상황이지만 우리 팀이 일부 회원들은 지난 몇 달 간의 차이는 지점 더 크고 더 크게 성장했다. 이제 우리는 원하는 이를 해결하기 위해 한번에 모두.

당신의 도움을 위한 감사합니다.

cherry-pick git merge
2021-11-24 00:41:33
2
1

내가 찾는 인터페이스가 수락하거나 거부할 수 있습니다 모두에서 오는 마스터의점 app 폴더

git checkout -p master app 은 원유를 그대로 괜찮은 기회의 제공 여기에.

하지 않으면 당신을 보여주는 충분히 당신이 원하는 무엇을 결정,다음 단계는 선택적으로 병합

git diff --merge-base @ master -- app | git apply -3

는 것이 자식을 사용하의 자동 병합 기계 및두 겹치는 모든 또는 인접한 변경 사항은 당신을 위해 정렬하는 평소와 같이,또는 저장할 수 있습니다 비교하여 파일을 편집하여 맛을 적용하기 전에 그것을 당신은 조심해야합니다.

2021-11-24 06:42:34
1

두가지 방법으로 수행할 수 있습니다. 간단한 것이 계속 변화,그러나 삭제 커밋들이했다. 더 복잡한 것이 보존하가한다.

추천

모두 두 가지 방법을 논의 아래에 있을 일으킬 가능성이 충돌하고 다른 두통 선 아래로,특히 사람들이 계속에서 변경 사항입니다. 또한,이 있는 경우는 변경하/응용 프로그램에서 폴더 기능을 지점,바로 git 을 사용하여 적용될 수 있습니다 변화를 덮어쓰는 것을 방지 합니다.

추가 할 수 있습니다 병합 master 점으로 기능을 지점을 통해 git merge없는 부수. 주어진 발산을 언급할 수 있습 병합,충돌 그러나 이것은 좋습니다. 충돌의 당신이 원하는 것:그들이 선택할 수 있도록 변경하고,수락을 거부합니다.

말해서,여기에는 두 가지 방법은 유사한 벚꽃 따기만 하나의 폴더에 있습니다.

옵션 1:폐기 확정,계속 변화

이 방법은 매우 간단 및 그것의 조합을 사용하여 git diffgit apply:

git switch feature
git diff feature..master -- app | git apply --index

이 것이다:

  • 전환 기능을 지점(이것은 어디에 당신 변경 사항을 적용)
  • 의 모든 변경 사항을 마스터점,에 없는 기능을 지점에 있습니다.
  • 만 필터링에서 변경 app 디렉토리
  • 변경 사항을 적용을 통해 git apply
  • 단계 변화에 추가하여 인덱스(이것은 어떤 --index 옵션)

만 이 방법의 단점은 없다는 것을 보존하는 역사 또는 메시지입니다.

거기에서,당신은 투입할 수 있는 변화를 직접:

git commit -m "Apply changes made to master branch"

옵션 2:얻을 모두 커밋 및 변경

이곳은 조금 더 복잡하며,그것은에 의존 git format-patch.

git switch feature
git format-patch --stdout feature..master -- app | git am

이 것이다:

  • 전환 기능을 지점(여기서 당신 변경 사항을 적용)
  • 의 모든 변경 사항을 마스터점,에 없는 기능을점
  • 필터에 의해서만 변경에 app 디렉토리
  • 형식은 이러한 일련의 패치(가 포함된 메일을 작성자,등등)
  • 모두 적용한 패치를 사용하여 git am

참고 그에 따라 내용의 변경이 발생할 수 있습니다 실패는 당신이해야 해결할 수 있습니다. (그것은 이런 경우)

2021-11-24 21:55:27

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................