2014-09-03 1 views
4

GitHub 네트워크 그래프와 git 로그간에 불일치가 있습니다.병합 후 잘못된 첫 번째 부모를 나타내는 GitHub 네트워크 그래프

* 13d9ccc (origin/dev, dev) edit printState 
* 32e4285 add support for different jewels 
* 23f6c5d fix weather application 
* 4236119 refactor 
* a731e72 (refactor) Merge branch 'fix' into dev 
|\ 
| * 6d3ca43 (fix) fix winrate determination 
| * 5f39b62 fix weather application to second boat 
| * 8e2b813 fix win condition 
| * 57fc73d fix win percentage 
| * 48b8a0f fix possibleMove 
|/ 
* dabc470 (HEAD, origin/master, master) Merge pull request #1 from axsk/boats 

편집 : 녹색 분기에 처음 다섯 개 노드에 해당

git log --graph --all --oneline --decorate의 출력에라는 내 GitHub의 저장소의 network graphniagara

enter image description here

비교 내가 커밋 한 5 개의 연속 커밋 (48b8..6d3c) (국부적으로) fix 분지에서 머리는 6d3c입니다. 그런 다음 fix 분기를 --no-ffdev 분기로 병합했습니다. 이것은 git log의 출력에 올바르게 표시되지만 GitHub는 fix 커밋에 대한 별도의 분기 대신 녹색 곡선의 화살표 만 표시합니다.

내가 뭔가 잘못되었거나 GitHub 측에 어떤 종류의 버그가 있습니까?

+1

무엇이 잘못되었는지 자세히 설명해 주시겠습니까? GitHub의 그래프에는 커밋 해시가 표시되지 않으므로 둘을 비교하는 것이 약간 어렵습니다. – musiKk

+0

@musiKk 그 곡선의 녹색 화살표는 나에게 의미가 없습니다. – Jubobs

+0

@Jubobs 아마도 하나의 커밋으로 구성된 병합 된 끌어 오기 요청 일 것입니다. – musiKk

답변

3

내가 말할 수있는 한, 당신 말이 맞습니다. 뭔가 벗어났습니다. 특히 곡선의 녹색 화살표는 커밋 6d3ca43이 "두 번"이고 커밋이 a731e72 인 부모를 의미하는 것으로 보입니다. A는 실제로 하나의 동일한 있습니다 부모가 커밋에 대한

enter image description here


enter image description here

은 내가 아는 한, 힘내에서, 방법이 없습니다. 다음과 같은 상황에있어 (당신의 작업 디렉토리가 깨끗한)
o -- o [master=HEAD,develop] 

git merge --no-ff develop 

를 실행해도 아무 조합은 없습니다 : 그 명령의 출력은 단순히

Already up-to-date. 
입니다

결론 : 내 느낌 ... 그것은 GitHub의의 측면에 버그가 있다는 것입니다


업데이트 : 이것에 관해 GitHub의 지원에 연락했는데 나에게 돌아 왔습니다. 아래를 읽으십시오.

해당 네트워크 그래프에주의를 기울여 주어서 고맙습니다. 나는 혼란 스럽습니다. Google 팀에이 사실을 알리기 위해 내부 문제를 개설했습니다. 추가 정보가 제공되는대로 알려 드리겠습니다.

+0

네 말이 맞아. 녹색 화살표는 왼쪽에 네 개의 커밋을 시작해야합니다. – musiKk

+0

그들은 다시 당신에게 돌아 왔습니까? –

+0

@AndyHayden 아니요. – Jubobs

0

이것은 나를 위해 발생했습니다. 이전에 아래 이미지의 파란색 가로줄이이 문제를 나타 냈습니다 (질문의 초록색 기둥과 같음).그러나 다시 병합 (자주색 선을 검정색으로 만든 다음 다시 병합)하면 파란색 선이 올바르게 표시됩니다 (검은 선과 같은 시작점을 갖는 것과 관련이있을 수 있음). enter image description here

EDIT : 실제로이 버그를 여러 번 테스트하고보고 난 후에 새로운 커밋 (특히 새로운 구성으로 그래프가 다시 그려지는 병합 커밋)으로 인해 문제가 해결 될 수 있음을 발견했습니다. 정확한 부모와 함께 잘못된 분기를 올바르게 그립니다. 이 문제를 해결하기 위해 다시 병합 할 필요는 없습니다. 안심할 수 있듯이 근본적인 커밋 히스토리에 대한 문제보다는 순수한 그래프 문제인 것처럼 보입니다.

+0

Git의 알고리즘이 단순히 서로 위에 선을 그 으려는 것일 수 있습니다. –

관련 문제