git rebase가 의도 한대로 작동하는지 여부 또는 문제를 발견 한 경우 확실하지 않습니다. 나는 lorem ipsum을 사용하여 공개 저장소에 그것을 복제했다. (https://github.com/drewclauson/git-rebase-example)Git rebase가 잘못된 위치에 파일을 패치합니다.
여러 줄 (see lorem ipsum.txt)에 대해 정확히 동일한 두 개의 코드 섹션이있는 경우 문제가 발생합니다. 이상적으로 코드는 DRY를 유지하기 위해 리팩토링되지만 동일한 파일에 중복 된 코드가 존재한다는 것을 알지 못했습니다.
branch1
에는 master
에없는 커밋이 있고 그 반대의 경우도 있으므로 branch1
을 master
에 리베이스합니다.
branch1's
change is adding a line between lines 23 and 24. ("코드 라인 추가 테스트")
master's
change is editing line 23. I는 master
상 branch1
을 리베이스 때 branch1's
의 변화가 라인 24-25 사이 대신 patched in between lines 8-9을 얻는다 커밋
(선 (23)에 'NEW TEXT "를 삽입).
나는 git의 연산에 대해 많이 알고 있지 않지만, 24-25 행을 추가해야하는 커밋의 컨텍스트와 관련이 있다고 가정하고있다. 기본적으로 이전과 이후의 줄을 기반으로 패치를하고 싶습니다. 파일의 앞부분에 동일한 코드가 있기 때문에 줄 번호를 고려하지 않고 패치를 던집니다. 아니면 제가 빠진 것이 있습니까?
고마워, 나는 아직도 자식에 대한 상대적으로 안돼서, 그래서 난 그것에 대해 뭔가를 이해하지 못할 수 있습니다.
감사합니다. 그러면 예상되는 동작 인 것 같습니다. – Drewsonian
예, 적어도이 동작에 놀라지 않습니다. – Chris
@Drewsonian : 예.힘내는 코드의 * 의미 *에 대한 지식이 없다. 단지 라인 단위의 비교를한다 (물론, 도구에 내장 된 라인 지향적 인 것). "거짓 일치"는 그것을 버릴 수 있습니다. – torek