브랜치를 설정하여 병합이 개발 브랜치에서만 마스터로 들어갈 수 있도록하고 싶습니다.Git은 마스터에서 개발로 병합 만 허용합니다.
아마도 나는 이것이 무시 무시한 것처럼 들리 겠지만 나는 스스로에게 질문해야한다고 생각합니다. 팀에서 개발자를 신뢰하지 않습니까? 당분간 그들은 힘내 줄을 잘 모르고 있기 때문에 당분간 저는 아닙니다. 시간이 지나면 제한을 제거 하겠지만 그때까지는 유용 할 것입니다. 가능한가?
감사합니다. 마크.
브랜치를 설정하여 병합이 개발 브랜치에서만 마스터로 들어갈 수 있도록하고 싶습니다.Git은 마스터에서 개발로 병합 만 허용합니다.
아마도 나는 이것이 무시 무시한 것처럼 들리 겠지만 나는 스스로에게 질문해야한다고 생각합니다. 팀에서 개발자를 신뢰하지 않습니까? 당분간 그들은 힘내 줄을 잘 모르고 있기 때문에 당분간 저는 아닙니다. 시간이 지나면 제한을 제거 하겠지만 그때까지는 유용 할 것입니다. 가능한가?
감사합니다. 마크.
kowsky answered으로 서버 측 사전 수신 후크에서이를 수행 할 수 있습니다. Git의 지사 개념이 다소 미끄 럽기 때문에 놀랍게도 어렵습니다.
나는 이것을 수행하는 사전 수신 후크를 작성했습니다. the code is available here. merges_from
함수를보고 위에있는 주석을 기록하십시오. StackOverflow에서 링크가 약간 iffy이기 때문에 여기에 실제 함수도 포함 할 것입니다. (이 코드는 망할 놈의 긍정적 고대 버전의 작업을 의미합니다, 그래서 git for-each-ref --merged
같은 현대적인 기능을 사용하지 않습니다.) 그들이 난장판을 할 경우
# $1 is a merge commit. Find all its parents, except the first
# (which is "on" the branch being merged-into and hence not relevant).
# For each remaining parent, find which branch(es) contain them.
# If those branch heads *are* them, consider that the "source" of the merge.
#
# Note that this means if branches A and B both name commit 1234567,
# and you merge commit 1234567 into branch master, this considers
# the merge (with its one parent) to merge both branches A and B.
# That may not be ideal, but it is what we get...
merges_from()
{
local branches b src
set -- $($GIT rev-list --parents --no-walk $1)
shift 2
for i do
# git branch --contains may print something like
# * (no branch)
# or
# * (detached from blah)
# if HEAD is detached. This should not happen in
# a bare repo, but if it does, we'll add HEAD to
# our list.
branches=$($GIT branch --merged $i |
sed -e 's/\* (.*)/HEAD/' -e 's/^[* ]//')
set -- $branches
src=""
for b do
if [ $($GIT rev-parse $b) = $i ]; then
src="${src}${src:+ }$b"
fi
[ "$src" == "" ] && src="-"
done
echo $src
done
}
Torek에게 100 만 원 주셔서 감사 드리며,이 기회를 통해 내가 얻을 수있는 첫 기회를 드릴 것입니다. 불행하게도 저는이 프로젝트에 대해서 일주일에 몇 시간 밖에 안 걸립니다. 내가 얼마나 성공했는지 다시 대답하겠습니다. –
당신은 변경 사항을 되돌릴 수 있을까? – Vallentin
예 답장을 보내 주셔서 감사하지만 그 질문에 대답하지 않습니다 –
후크를 설정하고 끝내기 만하면 매주 지저분한 마스터를 되 돌리고 싶지 않습니다. 시간과 신경을 저장합니다. – kowsky