2017-05-03 1 views
0

잘 설명 할 수 있는지 봅시다. 우리는 GitFlow를 사용하고 있으므로 DEV 브랜치가 있고 개발자는 기능 브랜치를 가지고 있습니다. 그들은 PR을 만들고 QA는 가용성을 기반으로 PR을 완성합니다. QA_Release로 분기되어 구축되고 배포됩니다.분기 노드에있을 때 자식 로그가 누락되었습니다.

어쨌든 누군가가 DEV 브랜치 (빌드 번호로 태그가 지정됨)를 빌드하면 QA_Release로 분기하고 빌드 (다음 빌드 번호로 태그가 지정됨)를 빌드하면 로그 주석 분기 된 노드에 있던 PR을 놓친다.

'git log 2..3'을 실행했을 때 x가 커밋되고 태그가 지정되면 분기가 표시되지 않습니다. 'git log 2 ~ .. 3'을 사용하면 표시됩니다.

그런 일이 발생 했습니까?

+0

것은 나는 이것이 당신의 부분에서 오해 것 같다. 'git log --help'를하고 개정 범위에 관한 부분을 읽으십시오. 'git log aaa..bbb'는 문서에 따라 "bbb에서 접근 할 수있는 모든 커밋을 출력하지만"aaa "에서 도달 할 수있는 커밋은 제외해야합니다. 즉, 'aaa..bbb'범위에는 커밋'aaa '가 포함되지 않습니다. – Alderath

+0

자, 그렇다면 어떻게해야합니까? 우리는 ~ (부모)를 사용하여 남았습니까? 때로는 그게 내가 필요로하는 것 이상을 가져옵니다. 자식 로그에서 항목을 제외하는 7 가지 방법이 있지만 항목을 포함 할 방법은 없습니다. –

답변

0

기본적으로 커밋 범위가 작동하는 방식입니다.

A..B 

당신은 실제로 이런 말 :

당신이 말할 때

^A B 

"A에서 연결할 수있는 모든 것을 제외하고, B에서 연결할 수있는 모든 것을"를 의미한다. 이 마지막 부분은 A를 포함하므로 로그의 일부가 아닙니다.

"2 ~"라고 말하면 "2의 부모"라고 말하면서 "... 2의 부모로부터 도달 할 수있는 모든 것을 제외"라고 말합니다. 이것은 이 아닙니다.은 2를 포함합니다.

이것은 gitflow와 관련이 없으며 분기 또는 풀 요청과도 관련이 없으므로 이중 점 구문이 어떻게 작동하는지 알 수 있습니다.

현재 범위에 대한 설명서를 읽을 수 있습니다 :

The .. (two-dot) Range Notation

+0

답변으로 받아 들일 것이지만 이것이 최선의 방법은 아닙니다. "배제의 부족"에 의한 포함은 물건을 나타내는 좋은 방법이 아닙니다. 어떻게 "A에서 B로 포괄"이라고 말하는 좋은 방법이 없습니까? 않는 한 그것은 그 페이지에 비 배타적 인 예제의 깊이에 숨겨져있다. 하지만 도움에 감사드립니다. –

관련 문제