কম্পিউটার

আপনার অগোছালো ওপেন সোর্স রিপোজিটরি পরিচালনার জন্য কমান্ড লাইন কৌশল

কার্যকরী সহযোগিতা, বিশেষ করে ওপেন সোর্স সফ্টওয়্যার বিকাশে, কার্যকরী সংস্থার মাধ্যমে শুরু হয়। কোনো কিছুই যেন মিস না হয় তা নিশ্চিত করার জন্য, সাধারণ নিয়ম, "একটি সমস্যা, একটি টান অনুরোধ" হল একটি চমৎকার নিয়ম।

"ডকুমেন্টেশনে সমস্ত ভাঙা লিঙ্কগুলি ঠিক করুন" এর মতো একটি বড় সুযোগ নিয়ে একটি সমস্যা খোলার পরিবর্তে ওপেন সোর্স প্রকল্পগুলি অনেক ছোট এবং আরও পরিচালনাযোগ্য সমস্যা সহ অবদানকারীদের আকর্ষণ করতে আরও ভাগ্যবান হবে৷

পূর্ববর্তী উদাহরণে, আপনি বিভাগ বা পৃষ্ঠা অনুসারে ভাঙা লিঙ্কগুলি স্কোপ করতে পারেন। এটি আরও অবদানকারীদের ঝাঁপিয়ে পড়তে এবং তাদের সময়ের ছোট উইন্ডোগুলিকে উত্সর্গ করার অনুমতি দেয়, একজন ব্যক্তির জন্য অপেক্ষা করার পরিবর্তে একটি বৃহত্তর এবং আরও ক্লান্তিকর অবদানের প্রচেষ্টা নেওয়ার জন্য৷

ছোট পরিসরের সমস্যাগুলি প্রকল্প রক্ষণাবেক্ষণকারীদের দেখতে সাহায্য করে যে কোথায় কাজ শেষ হয়েছে এবং কোথায় হয়নি। এটি সমস্যার কিছু অংশ মিস হওয়ার সম্ভাবনা কমিয়ে দেয়, সম্পূর্ণ হয়েছে বলে ধরে নেওয়া হয় এবং পরে বাগ বা নিরাপত্তা দুর্বলতার দিকে নিয়ে যায়।

যে সব ভাল এবং ভাল. কিন্তু আপনি যদি ইতিমধ্যেই বেশ কিছু ব্যপক ইস্যু খুলে থাকেন, কিছু PR ইতিমধ্যেই জমা দেওয়া হয়েছে বা একত্রিত করা হয়েছে, এবং আপনি বর্তমানে কাজটি কোথায় শুরু হয়েছে বা বন্ধ হয়েছে তা জানেন না?

আপনার প্রজেক্টের অবস্থা আবার নিয়ন্ত্রণে আনতে একটু বাছাই করতে হবে। সৌভাগ্যক্রমে, আপনাকে স্ক্যান করতে, বাছাই করতে এবং একটি অগোছালো সংগ্রহস্থল বোঝাতে সহায়তা করার জন্য অনেকগুলি কমান্ড লাইন সরঞ্জাম রয়েছে। আমি যেগুলি ব্যবহার করি তার একটি ছোট নির্বাচন এখানে৷

ইন্টারেক্টিভ অনুসন্ধান এবং vim দিয়ে প্রতিস্থাপন করুন

আপনি Vim-এ একটি ফাইল খুলতে পারেন, তারপর ইন্টারেক্টিভভাবে অনুসন্ধান করুন এবং এর সাথে প্রতিস্থাপন করুন:

:%s/\<word\>/newword/gc

% বর্তমান ফাইল, s এর সমস্ত লাইন দেখতে নির্দেশ করে বিকল্পের জন্য, \<word\> পুরো শব্দের সাথে মেলে, এবং g জন্য "গ্লোবাল" প্রতিটি ঘটনার জন্য হয়. c শেষে প্রতিটি পরিবর্তন করার আগে আপনাকে দেখতে এবং নিশ্চিত করতে দেবে। আপনি c ছাড়াই এটি স্বয়ংক্রিয়ভাবে এবং আরও দ্রুত চালাতে পারেন , কিন্তু আপনি যদি প্যাটার্ন-মিলিং ত্রুটি করে থাকেন তবে আপনি নিজেকে জটিল করার ঝুঁকিতে ফেলেন।

মার্কডাউন-লিঙ্ক-চেক নোড মডিউলটির একটি দুর্দান্ত CLI বন্ধু রয়েছে৷

আমি এটি ব্যবহার করি তাই প্রায়ই আমি এটিকে বাশ ওরফে ফাংশনে পরিণত করেছি। একই কাজ করতে, এটি আপনার .bashrc এ যোগ করুন :

# Markdown link check in a folder, recursive
function mlc () {
    find $1 -name \*.md -exec markdown-link-check -p {} \;
}

তারপর mlc <filename> দিয়ে চালান .

find দিয়ে গিট রিপোজিটরি সহ বা ছাড়া সাব-ডিরেক্টরি তালিকাভুক্ত করুন

সমস্ত সাবডিরেক্টরি মুদ্রণ করুন যেগুলি গিট সংগ্রহস্থল, বা অন্য কথায়, একটি .git আছে তাদের মধ্যে:

find . -maxdepth 1 -type d -exec test -e '{}/.git' ';' -printf "is git repo: %p\n"

গিট রিপোজিটরি নয় এমন সব সাবডিরেক্টরি প্রিন্ট করতে, ! দিয়ে পরীক্ষা বাতিল করুন :

find . -maxdepth 1 -type d -exec test '!' -e '{}/.git' ';' -printf "not git repo: %p\n"

xargs সহ একটি তালিকা থেকে একাধিক গিট সংগ্রহস্থল টানুন

আমি প্রাথমিকভাবে ব্যাশ স্ক্রিপ্টগুলির সাথে আমার ল্যাপটপটি স্বয়ংক্রিয়ভাবে পুনরায় তৈরি করার অংশ হিসাবে এটি ব্যবহার করেছি, তবে আপনি যখন ক্লাউড ইনস্ট্যান্স বা ডকারফাইলগুলির সাথে কাজ করছেন তখন এটি বেশ সুবিধাজনক৷

একটি ফাইল দেওয়া হয়েছে, repos.txt প্রতিটি লাইনে একটি সংগ্রহস্থলের SSH লিঙ্ক সহ (এবং আপনার SSH কী সেট আপ), চালান:

xargs -n1 git clone < repos.txt

আপনি যদি অনেক রিপোজিটরি টানতে এবং পুশ করতে চান, আমি আগে লিখেছিলাম কিভাবে আপনার রিপোজিটরি পরিচালনা করতে ব্যাশ ওয়ান-লাইনার ব্যবহার করতে হয়।

jot দিয়ে সংখ্যা অনুসারে সমস্যাগুলি তালিকাভুক্ত করুন

আমি OWASP ওয়েব সিকিউরিটি টেস্টিং গাইড রিপোজিটরির একজন সহ-লেখক এবং রক্ষণাবেক্ষণকারী যেখানে আমি সম্প্রতি একটি বড় সমস্যা নিয়েছিলাম (হ্যাঁ, এটি ছিল "ডকুমেন্টেশনের সমস্ত ভাঙা লিঙ্কগুলি ঠিক করা" - আপনি কীভাবে অনুমান করেছেন?) এবং এটি ভেঙে ফেলেছি বেশ কয়েকটি ছোট, আরও পরিচালনাযোগ্য সমস্যা পর্যন্ত। পুরো সাঁইত্রিশটি ছোট, আরও পরিচালনাযোগ্য সমস্যা।

আমি আসলটি হয়ে যাওয়া সমস্ত সমস্যাগুলি গণনা করতে চেয়েছিলাম, কিন্তু সাঁইত্রিশটি সংখ্যা সংখ্যা (#275 থেকে #312) টাইপ করার ধারণাটি খুব ক্লান্তিকর এবং সময়সাপেক্ষ বলে মনে হয়েছিল। তাই, প্রাকৃতিক প্রোগ্রামার ফ্যাশনে, আমি সেই সমস্ত নম্বর টাইপ করার জন্য যে পরিমাণ সময় ব্যবহার করতাম এবং পরিবর্তে এটি স্বয়ংক্রিয় করার একটি উপায় তৈরি করতাম।

jot ইউটিলিটি (apt install athena-jot ) হল একটি ছোট টুল যা একটি বড় সাহায্য যখন আপনি কিছু সংখ্যা প্রিন্ট করতে চান। শুধু বলুন আপনি কতগুলি চান, এবং কোথায় শুরু করবেন এবং থামবেন।

# jot [ reps [ begin [ end ] ] ]
jot 37 275 312

এটি একটি নতুন লাইনে 275 থেকে 312 পর্যন্ত প্রতিটি সংখ্যা প্রিন্ট করে। গিটহাব এবং অন্যান্য অনেক প্ল্যাটফর্ম স্বয়ংক্রিয়ভাবে চিনতে পারে এবং লিঙ্কে পরিণত হয় এমন ইস্যু নম্বর নোটেশনে পরিণত করতে, আপনি আউটপুটকে awk এ পাইপ করতে পারেন .

jot 37 275 312 | awk '{printf "#"$0", "}'

#275, #276, #277, #278, #279, #280, #281, #282, #283, #284, #285, #286, #287, #288, #289, #290, #291, #292, #293, #295, #296, #297, #298, #299, #300, #301, #302, #303, #304, #305, #306, #307, #308, #309, #310, #311, #312

এছাড়াও আপনি jot ব্যবহার করতে পারেন র্যান্ডম বা অপ্রয়োজনীয় ডেটা তৈরি করতে, প্রধানত উন্নয়ন বা পরীক্ষার উদ্দেশ্যে।

CLI-চালিত ওপেন সোর্স সংস্থা

একটি সুসংগঠিত ওপেন সোর্স রিপোজিটরি হল একটি সুসংগঠিত ওপেন সোর্স প্রকল্প৷ সহজ রেফারেন্সের জন্য এই পোস্টটি সংরক্ষণ করুন, এবং আপনার নতুন পাওয়া CLI সুপার পাওয়ারগুলিকে ভালোর জন্য ব্যবহার করুন! ?


  1. মজার উপায় ব্যাশ শেখার জন্য 3টি কমান্ড লাইন গেম

  2. 9 ট্রিকস গেমিংয়ের জন্য আপনার ম্যাক অপ্টিমাইজ করার জন্য

  3. 14 Windows 10 কমান্ড লাইন কৌশল যা আপনাকে আপনার পিসিতে আরও নিয়ন্ত্রণ দেয়

  4. অ্যান্ড্রয়েডের জন্য 5টি সেরা ওপেন সোর্স গেম