你要完成什麼是「關於回購-O每個遠程分支,創建同一個分支指向回購-O的分支,如果我沒有它或拉從本地分支信息無論是在repo-o的同一分支上,並最終將所有這些分支推向我的回購-f「。
假設你的遙控器都被真名叫repo-o
和repo-f
,我喜歡的東西玩,在bash
:
for repo_o_branch in \
$(git branch -a|grep repo-o|perl -nle's,^\s*repo\-o/,,;print $_';
do
( \
(git checkout $repo_o_branch \
&& git pull --rebase repo-o $repo_o_branch) \
|| (git checkout -b $repo_o_branch repo-o/$repo_o_branch) \
) && git push repo-f $repo_o_branch;
done
對於所有的「回購Ø分支」(由git branch -a
爲「回購O/BRANCHNAME所示」,沒有‘空間和‘回購-O /’’的一部分),
- 嘗試檢出的分支和做
git pull --rebase repo-o branchname
裏面,
- 或者如果
git checkout
失敗(因爲您沒有該分支):簽出以repo-o的分支名稱命名的新分支,並將其指向repo-o的branchname。
- 如果上述兩項中的任何一項成功,則將新創建或更新的分支名稱推送到您的repo-f。
季節的味道;對repo-f
新的git克隆最佳試圖用添加到它的遠程repo-o
,以防萬一出問題;)
非常感謝,這是有道理的。 ..我希望有一種方法可以讓git自動合併所有分支,但是這個腳本看起來好像有用。謝謝 – mrwooster 2010-12-02 10:16:04