[英]How to set a git branch to push to a remote with a different branch name and pull from completely different url
我的本地git repo需要從一台服務器中提取。 然后,它需要將特定分支推送到不同服務器上具有不同分支名稱的審閱倉庫。
諸如此類:從Server1上的PullOnlyRepo中提取所有內容(我們可能稱其為起源?)將分支修補程序推送至Server2上具有分支名稱JistChanges的ReivewRepo。
現在,git config -l顯示:
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=<URL for Server1>
remote.origin.pushurl=no_push (this shouldn't matter since it is a pull only repo)
branch.production.remote=origin
branch.production.merge=refs/heads/production
remote.review.url=<URL for Server2>
remote.review.fetch=+refs/heads/*:refs/remotes/review/*
git pull可以實現我想要的功能(從Server1的正確位置獲取更改並將它們合並到我的工作樹中)。
但是git push不會。 為了實現我想要的,我必須做的
git push review hotfix:JistChanges
有什么方法可以使git pull做到這一點而不必放入多余的東西嗎?
已經設置了一些問題,以便您的本地分支將推送到具有不同分支名稱的遠程站點。 但是,它們也會改變上游以及拉力的來源。
您可以為hotfix
設置上游分支:
git config push.default upstream
git config push.default review
git branch --set-upstream hotfix review/JistChanges
請參閱“ 如何使現有的git分支跟蹤遠程分支? ”請參閱默認push
策略上的“ git push origin
的結果是什么? ”(很快就會變得“ simple
”)
從git1.8.0開始:
git branch -u review/JistChanges hotfix
git remote set-url --push origin
git config remote.origin.push refs/heads/hotfix:JistChanges
Ok VonC的回答使我步入正軌。 這是我所做的:
git remote set-url --push origin <review repo URL>
git config remote.origin.push refs/heads/hotfix:JistChanges
唯一的問題是,現在一切都推送到了評論倉庫。 現在還可以,因為90%的工作將在此分支中。 其他10%的人可以使用git push進行其他操作,其中其他人使用正確的push配置進行相同的原始回購。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.