[git] 충돌하는 Git rebase 도중에 “그들의”변화를 얻는 방법?

충돌하는 분기가 있습니다. branch2는 branch1에서 분기되었습니다.

branch2current를 기반으로 할 때 branch1충돌을 해결하면서 “그들”(즉, ) 파일 의 일부 를 그대로 사용하기로 결정합니다 branch1. 어떻게합니까?

나는 시도했다 :

git checkout branch1:foo/bar.java
fatal: reference is not a tree: TS-modules-tmp:foo/bar.java

git checkout refs/heads/branch1:foo/bar.java
fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java



답변

사용하고 싶은 것 :

git checkout --ours foo/bar.java
git add foo/bar.java

당신이 지점 리베이스 경우 feature_x에 대하여 master(실행 즉 git rebase master분기 동안을 feature_x), 리베이스 과정 ours을 의미 master하고 theirsfeature_x.

git-rebase 문서 에서 지적했듯이 :

리베이스 병합은 분기 위의 작업 분기에서 각 커밋을 재생하여 작동합니다. 이로 인해, 병합 충돌이 발생했을 때, 우리의 것으로보고 된 측면은 <upstream>부터 시작하여 지금까지의 리베이스 된 시리즈이고 그들의 분기는 작업 브랜치입니다. 다시 말해, 측면이 서로 바뀝니다.

자세한 내용 은이 스레드를 참조하십시오 .


답변

다른 브랜치에서 특정 파일을 가져 오려면

git checkout branch1 -- filenamefoo.txt

하나의 브랜치에서 현재 트리로 파일 버전을 가져옵니다.


답변