내가 실행하는 모든 스크립트에 대해 모든 변경 사항을 숨기거나 커밋하는 것이 좋습니다.
하나의 리모컨에서 다른 리모컨으로 여러 가지를 밀어야했습니다. 이 답변에는 현지 지점이 이전에 존재해야했습니다.
SRC_R=origin1
DEST_R=origin2
for cbranch in $(git branch -r | grep $SRC_R | cut -d '/' -f2,3,4,5 | cut -d ' ' -f1)
do
git checkout $cbranch
git push $DEST_R $cbranch
done
origin1을 소스 원격으로, origin2를 대상 원격으로 변경하십시오. 이것을 "remoteBranchCloner.sh"에 복사하고 "sh callBranchCloner.sh"를 사용하여 호출하십시오.
더 나은 방법 이있을 수 있으며 여러 번 푸시 하지 않습니다 .
내 코드를 사용하는 경우 자격 증명 캐싱 을 사용하고 싶을 수 있습니다 . 그렇지 않으면 자격 증명 서버 시간을 입력해야합니다.
창문 :
참고 : 이 스크립트는 linux 용 입니다. 이 경우 "자식 bash는"그것을 실행 스크립트가 작동하지만 설치 뭔가 특별하지 않고 기본 콘솔에서 실행할 수 없습니다.
git config [--global] credential.helper wincred
리눅스
git config [--global] credential.helper cache
여기서 [--global]은 선택적으로 --global을 추가하는 것을 의미합니다.
모든 지점에 대한 원격 추적을 새 원격으로 설정하려면 다음을 수행하십시오.
DEST_R=remotename
for cbranch in `git branch`
do
git checkout $cbranch
git branch -u guru/$cbranch
done
.sh 파일로 저장되고 "sh filename.sh"로 실행되면 모든 업스트림이 원격 '원격 이름'을 추적하도록 설정됩니다