2
我分叉了我的Github帳戶存在超過1000個提交和20個分支的存儲庫。更新叉Github回購與所有分支
然後我在本地機器上克隆它。
有什麼辦法可以更新我的本地機器的回購和我的Github的回購與原來的所有分支機構和提交?
我分叉了我的Github帳戶存在超過1000個提交和20個分支的存儲庫。更新叉Github回購與所有分支
然後我在本地機器上克隆它。
有什麼辦法可以更新我的本地機器的回購和我的Github的回購與原來的所有分支機構和提交?
也許爲時已晚,但遲到的回答總比沒有好:
# add the upstream:
git remote add upstream https://github.com/whoever/whatever.git
#create a script to loop through the whole branches and merge changes or create them if not found
sync_all_branch() {
git fetch upstream
for upstream_branch in $(git branch -a |awk 'BEGIN {FS="/"} $2=="upstream" {print $3}') ;
do
if git checkout $upstream_branch
then
echo merge $upstream_branch
git merge -s recursive -Xours upstream/$upstream_branch
else
echo create $upstream_branch
git checkout -b $upstream_branch upstream/$upstream_branch
fi
done
git checkout master
}
# then call the script
sync_all_branch
#push changes to your remote repository
git push --all
如果你想變基上游枝頂端的樹枝
(刪除您所做的更改並沒有被合併到上游) ,你應該改變
git merge -s recursive -Xours upstream/$upstream_branch
與
git rebase -s recursive -Xours upstream/$upstream_branch
,並添加 「-f」,以他最後的命令
* sync_all_branch腳本是從https://stackoverflow.com/a/7766487/2481592
很好的答案。 +1 – VonC 2014-02-02 10:07:19