2014-04-22 2 views
1

Atlassian SourceTree를 사용하고 있으며 BitBucket을 사용하고 있습니다. 다른 지점의 내 경우에는 develop을 (현실을 가정 해 봅시다 enhancement) 힘내 : 앞으로가는 옵션에 기록을 저장하면 안됩니까?

  • 내가 로컬 브랜치를 만들어 : 내 시나리오는 다음과 같다.
  • 몇 가지 사항을 변경하고이를 enhancement에게 위탁했습니다.
  • 마지막으로, SourceTree의 "빨리 감기가 가능한 경우에도 새 커밋 만들기"옵션 집합을 사용하여 enhancement ~ develop을 병합했습니다.이 옵션을 설정하면 --no-ff 플래그가 유효하게 설정됩니다.

나는의 Bitbucket에 밀어 후, 나는이를 참조하십시오

enter image description here

것은 내가 볼 것으로 예상되었다 중간 5 커밋하지 않고, 바로 281f45e 후 ccaad53를 저지했다. 대신 역사가 유지됩니다. 이런 식으로 일할 계획인가, 아니면 내가 잘못하고있는 것인가?

편집 : 더 구체적인 제목으로 변경되었습니다.

+0

이전 다이어그램을 이해했다면 결과는 양호합니다. http://ariya.ofilabs.com/2013/09/fast-forward-git-merge.html – kikicarbonell

+0

@kikicarbonell 무엇을합니까? "기대하는 SHA 식별자의 순서 설정 게시"를 의미합니까? 나는 281f45e를보고 그 다음에 (그 꼭대기) ccaad53을 볼 것으로 예상했다. 지금 그대로지만 ** 5 중개자없이 **. 내가 실제로 묻는 것은 빨리 감기 병합에서 역사를 보는 것이 정상적인 경우입니다. 나는 제목을 바꿔야한다. 나는 그것을 볼 때 오도 된 것이다. –

+0

281f45e 이후에 로컬 분기에서 5 커밋을하고 나중에 --no-ff 플래그를 사용하여이 분기를 병합하면 결과가 사용자 이미지와 같습니다. 더욱이 여러분이 변경 한 후 281f45e 후에 오직 하나의 커밋 만 기대했다면 다음 명령을 실행해야합니다 : git rebase -i HEAD ~ 5. 마지막 5 커밋을 하나의 커밋으로 변환 한 다음 병합 전략을 적용합니다. – kikicarbonell

답변

1

281f45e 이후에 로컬 분기에서 5 커밋을하고 나중에이 분기를 --no-ff 플래그로 병합하면 결과가 사용자 이미지로 나타납니다. 따라서 응답은 "예"이고 그래프 결과는 옳습니다.

변경 사항이있는 281f45e 이후에 한 번만 커밋을해야한다면, git rebase -i HEAD ~ 5를 실행해야 마지막 커밋을 하나의 커밋으로 변환 한 다음 병합 전략을 적용 할 수 있습니다.