.Git ফোল্ডার রয়েছে এমন সমস্ত উপ ডিরেক্টরি থেকে বর্তমান শাখাটি থেকে টানানোর জন্য আমি একটি দুর্দান্ত সমাধান খুঁজে পেয়েছি, এমনকি প্রতিটি রেপোতে আলাদা আলাদা শাখা রয়েছে কিনা তা পরীক্ষা করে নেওয়া হয়েছে। কমান্ডটি একটি ওয়ান-লাইনার, বিভিন্ন গিট কমান্ডের জন্য সংশোধন করার জন্য যথেষ্ট নমনীয় এবং এ্যালায়াস করা যায়।
কেবল নিম্নলিখিতটি অনুলিপি করুন এবং পেস্ট করুন:
find . -type d -maxdepth 2 -name .git -exec sh -c 'cd $0 && cd .. && git pull origin $(git rev-parse --abbrev-ref HEAD)' {} \;
এটি ভেঙে দেওয়া:
find . -type d -maxdepth 2 -name .git
বর্তমান ডিরেক্টরিতে (ডিরেক্টরি টাইপ) সমস্ত ডিরেক্টরি সন্ধান করুন (খুঁজে বের করুন) যার নাম ".git" (-নাম .git) রয়েছে, সর্বাধিক দুটি ডিরেক্টরি গভীর (1 এর পরিবর্তে 2) খুঁজছেন কারণ আমরা সন্ধান করছি গিট রেপো ফোল্ডারের মধ্যে গিট ফোল্ডার)।
-exec sh -c
নিম্নলিখিত শেল কমান্ড চালান (চালনা sh -c)
'cd $0 && cd .. && git pull origin $(git rev-parse --abbrev-ref HEAD)'
ডিরেক্টরিটিকে প্রথম আর্গুমেন্টে (সিডি $ 0) পরিবর্তন করুন, তারপরে .git ফোল্ডার (সিডি ..) ছাড়ার জন্য এক স্তর উপরে ডিরেক্টরি পরিবর্তন করুন তারপরে বর্তমান শাখার জন্য গিট রেভ-পার্স চালিয়ে শাখাটি নির্দিষ্ট করার সময় গিট টান উত্সাহ করুন ... মাথা কমিট।
{} \;
"{}" হ'ল আমরা প্রাথমিক থেকে প্রাপ্ত ফলাফল সম্পর্কিত আপেক্ষিক পথ খোঁজ কমান্ড। দ্য ; কমান্ড শেষ করতে ব্যবহৃত হয়।
Zsh এ MacOS 10.14.6 এ পরীক্ষিত। যেমনটি রয়েছে, কেবল তখনই কাজ করে যখন প্রত্যন্ত এবং স্থানীয় শাখাগুলির নাম একই থাকে, এএফএআইকি।
স্থিতি পেতে আপনি এটি পরিবর্তন করতে পারেন। আমি আশা করি আপনি এটি আরও নমনীয় করে তুলতে যুক্তি যুক্ত করতে সক্ষম হতে পারেন তবে আমি এখনও চেষ্টা করি নি।
hg mercurial
।