我正在尋找備份所有我的加星庫,我正在尋找一種簡單的方法來做到這一點。有沒有簡單的方法從GitHub克隆所有Starred Repos?
6
A
回答
6
這應該這樣做。請注意,您將需要 jq
curl https://api.github.com/users/<user>/starred |
jq -r '.[].html_url' |
xargs -l git clone
如果你不想使用jq
你可以用這種醜陋awk
線
awk '/^ {4}"html_url"/&&$0=$4' FS='"' |
2
取代如果你沒有與任何紅寶石問題,可以安裝幾個寶石,你可以給這個鏡頭。
gem install octokit git parallel
那麼這個應該這樣做。
ruby -e "require 'octokit'; require 'git'; require 'parallel'; Parallel.each(Octokit.starred('__username__'), :in_processes=>4){|s| Git.clone(s[:html_url], s[:name])}"
爲了提高可讀性:
require 'octokit'
require 'git'
require 'parallel'
Parallel.each(Octokit.starred('__username__'), :in_processes=>4){|s| Git.clone(s[:html_url], s[:name])}
這似乎有點小題大做,但。
3
是,這裏是一個簡單的一行(變化foo
到您的用戶名):
USER=foo; curl "https://api.github.com/users/$USER/starred?per_page=1000" | grep -o '[email protected][^"]*' | xargs -L1 git clone
添加-P
參數xargs
通過設置並行進程的數量,以增加的速度(例如-P4
= 4個進程) 。
要提高GitHub限制,您可以通過指定API密鑰進行身份驗證。
相關問題
- 1. 有沒有辦法跟蹤github克隆?
- 2. 有沒有簡單的方法來克隆字符串數組?
- 3. 從github克隆後沒有安裝bower_components
- 4. EC2:沒有GitHub的Git克隆
- 5. 有沒有一種簡單的方法克隆Oracle中表的結構?
- 6. 從github克隆源代碼後,Roslyn項目沒有加載
- 7. Git克隆掛起 - 有沒有辦法繼續克隆?
- 8. 有沒有比聯盟所有更簡單的方法?
- 9. 從github克隆git存儲庫沒有完整的URL
- 10. 有沒有更好的方法來迭代克隆N元樹?
- 11. 列表有沒有更好的深層克隆方法?
- 12. github回購克隆,但沒有標籤/分支重新創建?
- 13. GitHub在沒有使用GitHub的Windows官方客戶端的Windows中克隆URL
- 14. 沒有克隆的Git diff
- 15. 有沒有辦法知道所有在Github上下載/克隆私人回購的郵件的用戶名?
- 16. 有沒有辦法克隆DOM元素沒有單獨的對象?
- 17. 克隆html TR不克隆所有單元值
- 18. Jython有沒有好的NumPy克隆?
- 19. 綁定沒有克隆方法,什麼是複製它的有效方法
- 20. Jquery滑塊沒有克隆
- 21. AtomicIntegerArray沒有數組克隆
- 22. JAVA沒有克隆好
- 23. Git沒有克隆選項
- 24. 從現有的克隆
- 25. 克隆GitHub的庫和合並所有引入請求
- 26. Bitbucket Server Api:克隆所有存儲庫
- 27. 從BitBucket克隆到GIT沒有登錄?
- 28. 有沒有簡單的方法來克隆數據庫,它的結構和最後100條記錄?
- 29. git hooks:有沒有克隆鉤子?
- 30. 有沒有簡單的方法從C#訪問攝像頭?
我認爲GitHub API有一個限制,因爲它在30次回購後停止了克隆。 –
@ nighthawk24結果分頁並且API默認返回前30個。 – Kasisnu
https://gist.github.com/anonymous/aebb4a0639b0af2cfd88應該使用分頁技巧。 – rubiojr