সংস্থার সংগ্রহস্থল
আপনার সংস্থার সমস্ত রেপো ক্লোন করতে, নীচের শেলটি ওয়ান-লাইনার ব্যবহার করে দেখুন:
GHORG=company; curl "https://api.github.com/orgs/$GHORG/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
ব্যবহারকারীর সংগ্রহস্থল
গিট সংগ্রহস্থল URL গুলি ব্যবহার করে সমস্ত ক্লোনিং করা হচ্ছে:
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -o 'git@[^"]*' | xargs -L1 git clone
ক্লোন ইউআরএল ব্যবহার করে সমস্ত ক্লোন করা:
GHUSER=CHANGEME; curl "https://api.github.com/users/$GHUSER/repos?per_page=1000" | grep -w clone_url | grep -o '[^"]\+://.\+.git' | xargs -L1 git clone
এখানে দরকারী শেল ফাংশন যা ব্যবহারকারীর স্টার্টআপ ফাইলগুলিতে যুক্ত হতে পারে ( curl
+ ব্যবহার করে jq
):
# Usage: gh-clone-user (user)
gh-clone-user() {
curl -sL "https://api.github.com/users/$1/repos?per_page=1000" | jq -r '.[]|.clone_url' | xargs -L1 git clone
}
ব্যক্তিগত সংগ্রহস্থল
আপনার যদি ব্যক্তিগত রেপো ক্লোন করার প্রয়োজন হয় তবে আপনি নিজের শিরোনামে যেমন অনুমোদনের টোকেন যুক্ত করতে পারেন:
-H 'Authorization: token <token>'
বা পরম এ পাস করুন ( ?access_token=TOKEN
), উদাহরণস্বরূপ:
curl -s "https://api.github.com/users/$GHUSER/repos?access_token=$GITHUB_API_TOKEN&per_page=1000" | grep -w clone_url | grep -o '[^"]\+://.\+.git' | xargs -L1 git clone
মন্তব্য:
- কেবলমাত্র ব্যক্তিগত সংগ্রহস্থল আনতে,
type=private
আপনার ক্যোয়ারী স্ট্রিংয়ের সাথে যুক্ত করুন।
- অন্য উপায়টি হল
hub
আপনার এপিআই কীটি কনফিগার করার পরে ব্যবহার করা।
আরো দেখুন:
ইঙ্গিতগুলি :
- গতি বাড়াতে, ( = 4 প্রসেস) এর -P
জন্য প্যারামিটার নির্দিষ্ট করে সমান্তরাল প্রক্রিয়াগুলির সংখ্যা নির্ধারণ করুন । xargs
-P4
- আপনার যদি গিটহাব সীমা বাড়াতে হয়, আপনার এপিআই কী নির্দিষ্ট করে প্রমাণীকরণের চেষ্টা করুন।
- --recursive
নিবন্ধিত সাবমোডিয়ুলগুলিতে পুনরাবৃত্তি যুক্ত করুন এবং এর মধ্যে কোনও নেস্টেড সাবমডিউল আপডেট করুন।