2014-05-13 4 views
2

enter image description here병합 커밋 역사 sourcetree

내가 SourceTree 내 마스터 지점으로 기능 분기를 병합 할 필요가있다.

기능 분기를 병합 할 때마다 마스터 분기 커밋 기록에서 모든 기능 분기 커밋 기록을 볼 수 있습니다.

기능 브랜치를 마스터 브랜치와 마스터 브랜치에 병합하여 하나의 커밋 만 추가하려고합니다. 'merged with branchName'커밋은 변경된 파일을 나열합니다.

내가 똑똑한 자식에서 그 옵션을 가지고, 그것을 SourceTree에서 할 수 있습니까? 방법?

  • A : 마스터 지점에서 수행 커밋
  • B, C가 : 마스터에 표시된 test_branch 분기에 완료 역사를
  • (이 내가 나의 주인의 역사에서 제거 할 것들) 커밋 커밋 D : 그것은 단순히 지점 HEAD 기능을 마스터 HEAD 이동 : 병합 병합을 의미
+0

커밋 히스토리가없는 단순 병합은 현재 ST가 지원하지 않습니다. –

+0

SourceTree에서 (결코 사용하지 않음) 어떻게하는지, 또는 가능하다면, 당신이'git merge --squash'를 원한다고 들리는데 ... – twalberg

답변

1

fast-forward 하나입니다 (나는이 일을 유지하려는) 커밋합니다.

블로그 포스트 "Merge or Rebase?"(2012 년 8 월) 언급 :

당신은 병합은 항상 만들어 커밋 수 있도록 당신이 원하는 경우 SourceTree에서 떨어져 병합 빨리 감기를 설정할 수 있습니다 - 'Create a commit'옵션을 선택 Merge 대화 상자에서 또는 Preferences > Git 세계적으로 설정]

참고 :. 빨리 감기가 포스 인 경우 SourceTree와 git-flow를 사용하는 경우, 다음 병합 항상은 빨리 감기 하나가 될 것입니다 가능 : this thread을 참조하십시오.

영업에 의해 추가 된 스크린 샷과 비 빨리 감기 병합, 계시 :

  • 병합이

그래서 기능 지점에서 수행 커밋 마스터 역사에 커밋 A-Dmaster이고 B-Cfeature 브랜치에 남아 있습니다. 을 master에서 "제거"할 필요가 없습니다. 역사.
current branch (master)에만 A-D이 있습니다. feature 커밋은 컨텍스트로만 표시되어 병합이 D의 출처인지 설명합니다.


참고 : GitHub의, 아니 정확한 표현에서이 "기능"입니다 :이 (병합 커밋)은 최신이 병합 된 브랜치의 커밋을 포함한 의미는, 모두 부모와 GitHub의에 표시됩니다 master 기록.

예를 들어 commits in the master branch of the Git repo itself을 참조하십시오. 각 병합 커밋 뒤에는 병합 된 분기의 커밋이 하나씩 있습니다.

두 번째 스크린 샷의 경우 GitHub는 병합 된 분기의 커밋을 표시하지만 이러한 커밋은 마스터 기록의 일부가 아닙니다 (git log master에는 커밋되지 않습니다).
이것은 GitHub의 기능으로, master 로그의 정확한보기는 아닙니다.

참고 bis : 병합 된 커밋은 해당 날짜에 따라 GitHub에 의해 표시됩니다.
최근 버전 인 경우 병합 커밋 바로 아래에 표시됩니다. 이전 버전 인 경우 master 분기 커밋 내역 목록에서 더 아래쪽으로 표시됩니다.


OP Asaf Maozin the comments 추가 :

내가 스마트 자식을 사용할 때 나는 가지를 병합하고 단 하나의 내 마스터 지점에서 (당신의 연결과 비슷한) 커밋 볼 수있는 옵션을 가지고 있었다 - 병합

ST에서 아직 지원되지 않는 것 같습니다 (the ST forum 참조).
심지어 현재 지점의 이름을 표시 아직 (SRCTREE-1925)

내 github의 계정에서 아무것도 변경하지 않은이없는, 그래서는 ST에 있어야합니다. 이 옵션은 ST에 존재하지 않을 수도 있습니다

예 : 각 도구는 git log의 그래픽 디스플레이를 선택했습니다.

+0

빨리 감기 합병을 해제했는데, branchName '커밋과 병합되었지만 병합 된 분기 커밋 기록도 볼 수 있습니다. 필요하지 않습니다. 내 master 브랜치에 'branchName과 병합 (merged with branchName)'커밋을 넣기를 원합니다. –

+1

@AsafMaoz 볼 수있는 스크린 샷을 추가 할 수 있습니까? 도와 주려고 – VonC

+0

tnx. ST –