programing

병합되지 않은 Git 분기를 찾으십니까?

javamemo 2023. 6. 9. 21:41
반응형

병합되지 않은 Git 분기를 찾으십니까?

저는 많은 지점이 있는 Git 저장소를 가지고 있는데, 일부는 이미 병합되었고 일부는 그렇지 않습니다.지점 수가 상당히 많기 때문에 어떤 지점이 아직 병합되지 않았는지 확인하려면 어떻게 해야 합니까?저는 "문어" 병합을 하고 이미 병합된 지점을 다시 병합하는 것을 피하고 싶습니다.

사용해 보십시오.

git branch --merged master

주석에 표시된 작업을 수행합니다(통합된 분기 나열).master) 다음을 사용하여 역방향을 풀업할 수도 있습니다.

git branch --no-merged master

지정하지 않은 경우master예를 들어...

git branch --merged

그러면 현재로 병합된 분기가 표시됩니다.HEAD(그러므로 사용 중인 경우)master첫 번째 명령에 해당합니다. 사용 중인 경우foo와 맞먹습니다git branch --merged foo).

또한 다음을 지정하여 업스트림 분기를 비교할 수 있습니다.-r플래그 및 확인할 참조(로컬 또는 원격일 수 있음):

git branch -r --no-merged origin/master

사용할 수도 있습니다.-r마스터에 병합되지 않은 원격 분기를 표시하는 매개 변수:

git branch -r --merged master

git branch -r --no-merged

                         

분기가 이미 병합된 경우 분기를 다시 병합해도 아무런 효과가 없습니다.따라서 이미 병합된 지점을 "재합병"하는 것에 대해 걱정할 필요가 없습니다.

당신의 질문에 대답하기 위해, 당신은 간단히 발행할 수 있습니다.

 git branch --merged

병합된 분기를 보려면 또는

 git branch --no-merged

병합되지 않은 분기를 확인합니다.현재 분기는 암시되지만 원하는 경우 다른 분기를 지정할 수 있습니다.

 git branch --no-merged integration

에 아직 병합되지 않은 분기를 표시합니다.integration분점.

아래 스크립트는 모두를 찾습니다.origin/*현재 지점보다 앞에 있는 지점

#!/bin/bash

CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)

echo -e "Current branch: \e[94m$CURRENT_BRANCH\e[0m"
echo ''

git branch -a | grep remotes/origin/ | while read LINE
do
    CMD="git diff --shortstat remotes/origin/${CURRENT_BRANCH}...${LINE}"

    if $CMD | grep ' file' > /dev/null; then
        echo -e "\e[93m$LINE\e[0m" | sed 's/remotes\/origin\///'
        $CMD
        echo ''
    fi
done

언급URL : https://stackoverflow.com/questions/12276001/find-unmerged-git-branches

반응형