빌드/배포 프로세스에 관계없이 최신 배포가 시작된 지점을 git
으로 표시하는 방법이 있습니까?Git에서 마지막 분기가 배포 됨
배포와 git는 관련이 없으므로 단일 명령을 사용한 것이 아닙니다.
내가 무슨 뜻인지 설명하기 위해 이전에 작업하지 않은 프로젝트에 뛰어 들면서 어떤 분기가 배포되었는지 잘 모르는 경우를 상상해보십시오. 일련의 git
명령을 사용하는 것만으로도 알아낼 수 있습니까?
빌드/배포 프로세스에 관계없이 최신 배포가 시작된 지점을 git
으로 표시하는 방법이 있습니까?Git에서 마지막 분기가 배포 됨
배포와 git는 관련이 없으므로 단일 명령을 사용한 것이 아닙니다.
내가 무슨 뜻인지 설명하기 위해 이전에 작업하지 않은 프로젝트에 뛰어 들면서 어떤 분기가 배포되었는지 잘 모르는 경우를 상상해보십시오. 일련의 git
명령을 사용하는 것만으로도 알아낼 수 있습니까?
빌드 프로세스에 대해 아무 것도 생각하지 않으려는 경우 불가능합니다. 빌드 프로세스가 버전 제어 시스템에 다시 기록 할 것이라고 가정 할 수 없기 때문입니다 (예 : 어딘가에 상자에 git pull
을 게시하는 프로세스를 배포해야합니다.
당신이 당신의 빌드 프로세스가 주어진 지점 (예를 들어, master
)에서 구축하고 분기에게이 빌드를 만드는마다 태그를하는 가정을하면, git describe master
당신에게 master
지점의 최신 태그를 말할 것이다.
이 경우 최신 배포가 아닌 빌드에 대해서만 알릴 수 있습니다. 이 의미에서 태그는 릴리스 후보이며 최신 배포를 찾으려면 더 많은 가정을해야합니다.
M─┐ [v2] [release] Merge branch 'feature-Y' into release
│ o [feature-Y] Commit F
│ o Commit E
│ o Commit D
M─┤ [v1] [master] Merge branch 'feature-X' into release
│ o [feature-X] Commit C
│ o Commit B
│ o Commit A
I─┘ Initial commit
이 몇 가지 알려줍니다 :
우리는 다음과 같은 전략을 사용합니다.
master
현재 생산 버전의 점입니다. (그래서 v1
은 현재 라이브입니다.)release
으로 병합됩니다.feature-Y
이 우리의 빌드 릴리스 프로세스에 의해 빌드되었고 v2
으로 태그 지정되었습니다.master
은 release
(git push origin release:master
)으로 빨리 전달되고 현재 v2
은 (는) 현재 라이브입니다.의 release
지점은 그래서 feature-Y
는 메인 라인의 더 이상 일부가 아닙니다, 멀리 던져 master
(git push -f origin master:release
)로 다시 되감기됩니다. 그러나 v2
은 여전히 후손을위한 자식에 존재합니다.
매우 유익한 정보입니다. 감사합니다. –
적어도 배포 상황을 알려줄 수 있습니다. – PeeHaa
@PeeHaa 일반적인 명령을 따랐습니다. _ 사용중인 빌드/배포 프로세스와 상관없이 _ –
빌드 및 배포 프로세스는 git와 완전히 관련이 없으므로 아무 것도이 사실을 알려주지 않습니다.그러나 좋은 빌드 프로세스가 아마도 빌드에 태그를 붙일 것이기 때문에'git describe'는 [주어진 브랜치에서 최신 태그를 알려줄 수 있습니다.] (http://stackoverflow.com/questions/1404796/how-to-get-the-latest -tag-name-in-current-branch-in-git)를 사용합니다. 아마 이것은 좋은 출발일까요? – cmbuckley