2014-09-10 6 views
1

각 릴리스마다 이전 커밋 ID를 체크하고 새 커밋 ID를 선택하고 새 태그를 만들고 릴리스합니다. 예를 들어, 이전 릴리스 이름이 Tag.1.15.50.31 인 경우. 여기에 내가,git 태그에 새로운 커밋 ID 찾기

git checkout Tag.1.15.50.31 
git cherry-pick new-commit-id-1 
git cherry-pick new-commit-id-2 
. 
. 
. 
. 
so on. 

그리고 만들 수있는 태그, 내가 사용하는 것입니다 무엇을 할 거 야입니다 좀 4 출시했고, 현재 나는에있어 Tag.1.15.50.32 후

git tag -a Tag.1.15.50.32 -m 'drop 1.15.50.32' 

tag number Tag.1.15.50.36. 32에서 새롭게 체리 추첨 된 커밋 ID를 찾는 방법 (즉, new-commit-id-1과 new-commit-id-2)은 어떻게됩니까?

답변

1

그래서, 당신은이 같은가는 커밋 그래프가 의미 :

    - o - o  <-- various 
o - o - o - ... - o - o - o <-- branches 
    \   - o - o  <-- not especially interesting 
     \ 
     o <-- Tag.1.15.50.30 
     \ 
     o - o - o <-- Tag.1.15.50.31 (3 cherry picked commits) 
        \ 
        * - * <-- Tag.1.15.50.32 (2 cherry picked commits) 

그리고 당신은 단지가 될 것이다, 모두 모두 Tag.1.15.50.31에서 도달 커밋 제외 Tag.1.15.50.32에서 도달 커밋 찾으려면 여기에 *이라고 표시된 두 개의 커밋이 있습니까?

git rev-list 명령은 몇 가지 조건을 충족하는 개정판을 나열하고 gitrevisions에는 찾고있는 종류를 포함하여 수정본 세트를 생성하는 구문이 있습니다. 즉 BB에서 도달 할 수있는 수정본을 선택하고 ^AA에서 도달 할 수있는 수정본을 제외하므로 B ^A은 그러한 목록을 생성합니다. 특수 단축 구문 A..BB ^A을 의미합니다. 따라서

:

git rev-list Tag.1.15.50.31..Tag.1.15.50.32 

git cherry-pick 행동에 의해 만들어진 바로 수정을 나열해야합니다.