簡體   English   中英

如何設置git分支以推送到具有不同分支名稱的遠程並從完全不同的url中提取

[英]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

吉斯坦迪奧特OP 報告取得了相同的結果,其中:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM