2012-09-04 5 views
1

나는 최근에 아주 이상한 것을 본다. 세 가지 가지가 있다고 가정 해 봅시다. 그들 모두는 A. A라는 파일을 가지고 있으며, 세 개의 브랜치에서 독립적으로 B로 이름이 바뀐다. 그런 다음 세 가지 가지가 합쳐져 ​​하나가됩니다. 지금은다중 분기에 대해 git log --follow가 작동합니까?

git log --follow B 

를 사용하는 경우 내가

diff --git a/A b/B 
similarity index 85% 
rename from A 
rename to B 
index b328642..5cd437a 100644 
--- a/A 
+++ b/B 

같은 이름 변경에 대해 세 개의 커밋을 참조해야한다고 생각하지만 내가 실제로 참조하는 것은 다른 두가, 위와 같이 A와 B에서 이름 변경에 대한 커밋이다 삭제하기 A like

diff --git B B 
deleted file mode 100644 
index 5db3424..0000000 
--- a/B 
+++ /dev/null 

- 팔로우는 브랜치를 무시합니다. 서로 다른 지점을 다르게 처리하기보다는 로그를 직선적으로 추적합니다.

여기서 어떻게됩니까? 이 문제를 피하는 해결책이 있습니까?

감사합니다.

답변

0

로그는 기본적으로 첫 번째 부모를 따릅니다. 그래서 이런 식으로 병합은 뒤따를 때 다른 커밋으로 간주됩니다.

+0

그러나 병합에는 두 개의 부모가 있으므로 어떤 부모가 따라야합니까? – jbranchaud

+0

첫 번째 부모 –

+0

이것은 일관성을 위해 의미가 있습니다. 일관성을 넘어 첫 번째 부모에 관해 특별한 점이 있습니까? – jbranchaud

관련 문제