2017-12-17 13 views
0

우리가 우리는 그 다음 새로운 지점 refactor을 시작하고 PR을 밀어리베이스에서 삭제 된 파일의 변경 사항을 적용하는 방법은 무엇입니까?

Init

// file 
Foo 
Bar 

로 시작하자.

새 파일 을 새 파일 fooBar으로 새 파일 bar으로 이동합니다.

이제 마스터는

// file 
Foo123 
Bar 

을 변경하고 PR 지금 병합 충돌이 있습니다. 리베이스를 수행 할 때도 충돌이 발생하고 이것이 magit에서 보이는 방식입니다.

FooFoo123으로 변경된 것을 어떻게 알 수 있습니까? 그런 간단한 경우에는 어렵지 않아야하지만 file은 몇 천개의 loc이고 PR은 한 달 동안 거기 앉아 있고 다른 사람들은 file을 변경한다고 생각하십시오.

내 apporach는 삭제 된 파일을 만났을 때 파일을 건드린 다음 그에 따라 변경 사항을 붙여 넣은 다음 git rm file으로 파일을 제거하는 커밋을 보았을 때 매우 오류가 발생하기 쉽지만 물론 때로는 몇 가지 변경 사항을 간과했습니다. . 확실하게 더 좋은 방법이 있어야만합니까?

답변

0

당신은 이름을 변경하거나 복사 무엇을보고

git show --name-status 

를 사용할 수 있습니다. 더 많은 명령이 이름 변경을 식별하는 경우 더 좋겠지 만 git show --name-status (및 이와 동등한 번호는 git log --no-walk --name-status)으로 식별 할 수 있습니다.

+1

'git show'는'git diff'를 실행하고'git diff'는 이름이나 복사본을 찾습니다. Git 버전 2.9부터는 이름 바꾸기 기능이 기본적으로 활성화되어 있지만 이전 버전에서는 사용할 수 없지만 복사 찾기 기능은 기본적으로 항상 비활성화되어 있습니다. 'diff.renames'와'diff.renameLimit'을 구성하여 디폴트'git diff' 이름 바꾸기 동작을 변경시킬 수 있습니다. 내가 힘내 (1.5.something)로 가면됩니다. – torek