রেপো কমান্ড রেফারেন্স

রেপো একাধিক রিপোজিটরি জুড়ে কাজকে সহজ করে গিটকে পরিপূরক করে। দেখুন উত্স কন্ট্রোল টুলস রেপো এবং গীত মধ্যে সম্পর্ক একটি ব্যাখ্যা জন্য। রেপো আরও বিশদের জন্য, দেখুন রেপো README

রেপো ব্যবহার নিম্নলিখিত ফর্ম নেয়:

repo command options

ঐচ্ছিক উপাদানগুলি বন্ধনীতে দেখানো হয়েছে [ ]। উদাহরণস্বরূপ, অনেক কমান্ড নিতে project-list একটি আর্গুমেন্ট হিসাবে। আপনি নির্দিষ্ট করতে পারেন project-list বা নামের একটি তালিকা প্রকল্পগুলির জন্য স্থানীয় উৎস ডিরেক্টরি পাথ একটি তালিকা হিসাবে:

repo sync [project0 project1 ... projectn]
repo sync [/path/to/project0 ... /path/to/projectn]

সাহায্য

এই পৃষ্ঠাটি শুধুমাত্র মূল বিকল্পগুলিকে হাইলাইট করে। সম্পূর্ণ বিবরণের জন্য কমান্ড লাইন সহায়তা দেখুন। যখন রেপো ইনস্টল করা হয়, আপনি রান করে সমস্ত কমান্ডের সারাংশ দিয়ে শুরু করে সর্বশেষ ডকুমেন্টেশন খুঁজে পেতে পারেন:

repo help

রেপো ট্রির মধ্যে এটি চালানোর মাধ্যমে আপনি যেকোনো কমান্ড সম্পর্কে বিস্তারিত তথ্য দেখতে পারেন:

repo help command

উদাহরণস্বরূপ, নিম্নলিখিত কমান্ড একটি বিবরণ এবং তালিকার বিকল্প উৎপাদ init রেপো এর যুক্তি, যা বর্তমান ডিরেক্টরির মধ্যে রেপো সূচনা। (দেখুন init বিস্তারিত জানার জন্য।)

repo help init

অথবা শুধুমাত্র উপলব্ধ বিকল্পগুলির তালিকা দেখতে, চালান:

repo command --help
উদাহরণস্বরূপ:
repo init --help

এটা

repo init -u url [options]

বর্তমান ডিরেক্টরিতে রেপো ইনস্টল করে। এই সৃষ্টি .repo/ রেপো উত্স কোডের জন্য Git ভান্ডারগুলিকে এবং স্ট্যান্ডার্ড অ্যান্ড্রয়েড স্পষ্ট ফাইলগুলির সাথে নির্দেশিকা।

বিকল্প:

  • -u : একটি URL টি থেকে একটি ম্যানিফেস্ট সংগ্রহস্থলের পুনরুদ্ধার করতে উল্লেখ করুন। সাধারণ স্পষ্ট পাওয়া যায় https://android.googlesource.com/platform/manifest
  • -m : সংগ্রহস্থলের মধ্যে একটি ম্যানিফেস্ট ফাইল নির্বাচন করুন। কোন স্পষ্ট নাম নির্বাচন করা হলে, ডিফল্ট default.xml
  • -b : একটি সংস্করণ হলো, একটি নির্দিষ্ট নির্দিষ্ট করুন manifest-branch

নোট: সমস্ত অবশিষ্ট রেপো কমান্ড, বর্তমান ওয়ার্কিং ডিরেক্টরি পারেন অভিভাবক সংকলনে হওয়া আবশ্যক .repo/ অথবা পেরেন্ট ডাইরেক্টরি একটি সাব।

সুসংগত

repo sync [project-list]

ডাউনলোডগুলি নতুন পরিবর্তনের এবং আপনার স্থানীয় পরিবেশে আপডেট কাজ ফাইল, মূলত পৌঁছনোর git fetch সব Git ভান্ডারগুলিকে জুড়ে। আপনি চালাতে পারেন repo sync আর্গুমেন্ট ছাড়া, এটা সব প্রকল্পগুলির জন্য ফাইল সুসংগত করা হবে।

যখন আপনি চালাতে repo sync , এই কি ঘটবে:

  • প্রকল্পের সিঙ্ক্রোনাইজ হয়েছে না থাকে, তাহলে repo sync সমতূল্য git clone । দূরবর্তী সংগ্রহস্থলের সমস্ত শাখা স্থানীয় প্রকল্প ডিরেক্টরিতে অনুলিপি করা হয়।

  • প্রকল্পের সামনে সিঙ্ক্রোনাইজ হয়ে থাকে, তারপর repo sync সমতূল্য:

    git remote update
    git rebase origin/branch
    

    যেখানে branch স্থানীয় প্রকল্প ডিরেক্টরির মধ্যে বর্তমানে পরীক্ষা-আউট শাখা। যদি স্থানীয় শাখা দূরবর্তী সংগ্রহস্থলে একটি শাখা ট্র্যাক না করে, তাহলে প্রকল্পের জন্য কোন সিঙ্ক্রোনাইজেশন ঘটে না।

  • গীত একত্রীকরণ দ্বন্দ্ব রি-বেসের ফলে অপারেশন ফলাফল পারেন, (উদাহরণস্বরূপ, স্বাভাবিক গীত কমান্ডগুলি ব্যবহার git rebase --continue দ্বন্দ্ব সমাধান করতে)।

একটি সফল চালনার পরে repo sync নির্দিষ্ট প্রকল্পে কোড আপ টু ডেট এবং দূরবর্তী সংগ্রহস্থলের মধ্যে কোড সহ সিঙ্ক হয়েছে।

এখানে মূল বিকল্প আছে. দেখুন repo help sync আরো জন্য:

  • -c : সার্ভার থেকে শুধুমাত্র বর্তমান স্পষ্ট শাখা পান।

  • -d : সুইচ নিদিষ্ট প্রকল্প স্পষ্ট পুনর্বিবেচনা ফিরে। প্রকল্পটি বর্তমানে একটি বিষয় শাখায় থাকলে এটি সহায়ক, কিন্তু ম্যানিফেস্ট সংশোধন সাময়িকভাবে প্রয়োজন।

  • -f , এমনকি একটি প্রকল্প সিঙ্ক করতে ব্যর্থ অন্যান্য উইকিগুলো সিঙ্ক সাথে এগিয়ে যান।

  • -j threadcount : স্প্লিট দ্রুত সমাপ্তির জন্য থ্রেড জুড়ে সিঙ্ক করুন। নিশ্চিত করুন যে আপনি আপনার মেশিনকে অভিভূত করবেন না - অন্যান্য কাজের জন্য কিছু CPU সংরক্ষিত রাখুন। প্রাপ্তিসাধ্য সিপিইউ, প্রথমবার চালনার সংখ্যা দেখার জন্য: nproc --all

  • -q : স্থিতি বার্তা দমন দ্বারা শান্তভাবে চালান।

  • -s : সিঙ্ক একটি পরিচিত ভাল বিল্ড যেমন দ্বারা উল্লেখিত manifest-server বর্তমান ম্যানিফেস্টে উপাদান।

আপলোড

repo upload [project-list]

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

নির্বাচিত শাখাগুলির সমস্ত প্রতিশ্রুতি একটি HTTPS সংযোগের মাধ্যমে গেরিট-এ প্রেরণ করা হয়। আপলোড অনুমোদন সক্ষম করতে আপনাকে একটি HTTPS পাসওয়ার্ড কনফিগার করতে হবে৷ পরিদর্শন পাসওয়ার্ড জেনারেটরের HTTPS দ্বারা ওভার ব্যবহার করার জন্য একটি নতুন ব্যবহারকারীর নাম / পাসওয়ার্ড যুগল তৈরি করতে।

যখন গেরিট তার সার্ভারে অবজেক্ট ডেটা পায়, তখন এটি প্রতিটি কমিটকে পরিবর্তনে পরিণত করে যাতে পর্যালোচকরা একটি নির্দিষ্ট প্রতিশ্রুতিতে মন্তব্য করতে পারে। একটি একক কয়েকটি চেকপয়েন্ট করে মেশা কমিট ব্যবহার git rebase -i আগে আপনি আপলোড চালানো।

আপনি চালাতে পারেন repo upload আর্গুমেন্ট ছাড়া, এটি আপলোড পরিবর্তনের জন্য প্রোজেক্টের অনুসন্ধান করে।

পরিবর্তনগুলি সম্পাদন করা পরে তারা আপলোড করে থাকেন করার জন্য, মত একটি টুল ব্যবহার git rebase -i বা git commit --amend আপনার স্থানীয় করে আপডেট করতে। আপনার সম্পাদনা সম্পূর্ণ হওয়ার পরে:

  • যাচাই করুন যে আপডেট করা শাখাটি বর্তমানে চেক আউট শাখা।
  • সিরিজের প্রতিটি কমিটের জন্য, বন্ধনীর ভিতরে গেরিট পরিবর্তন আইডি লিখুন:
    # Replacing from branch foo
    [ 3021 ] 35f2596c Refactor part of GetUploadableBranches to lookup one specific...
    [ 2829 ] ec18b4ba Update proto client to support patch set replacments
    # Insert change numbers in the brackets to add a new patch set.
    # To create a new change record, leave the brackets empty.
    

আপলোড সম্পূর্ণ হওয়ার পরে, পরিবর্তনগুলির একটি অতিরিক্ত প্যাচ সেট রয়েছে৷

আপনার আপলোড করা একমাত্র বর্তমানে গীত শাখা চেক করা চান, ফ্ল্যাগ ব্যবহার --current-branch (অথবা --cbr সংক্ষিপ্ত জন্য)।

পার্থক্য

repo diff [project-list]

শো কমিট এবং কাজ গাছ ব্যবহার মধ্যে অসামান্য পরিবর্তন git diff

ডাউনলোড

repo download target change

পর্যালোচনা সিস্টেম থেকে নির্দিষ্ট পরিবর্তন ডাউনলোড করে এবং এটি আপনার প্রকল্পের স্থানীয় কাজের ডিরেক্টরিতে উপলব্ধ করে।

উদাহরণস্বরূপ, ডাউনলোড করতে পরিবর্তন 23823 আপনার প্ল্যাটফর্মে / বিল্ড ডিরেক্টরির মধ্যে:

repo download platform/build 23823

চলমান repo sync অপসারণ কোন করে পুনরুদ্ধারকৃত সঙ্গে repo download । অথবা আপনি কি ব্যবহার করে দূরবর্তী শাখা চেক আউট করতে পারেন git checkout m/master

নোট: বিশ্বব্যাপী সব সার্ভার থেকে রেপ্লিকেশন বিলম্ব আছে, তাই যখন পরিবর্তন ওয়েবে দৃশ্যমান মধ্যে সামান্য মিরর ল্যাগ এর Gerrit এবং যখন repo download সকল ব্যবহারকারীর জন্য পরিবর্তন খুঁজে পেতে পারেন।

সবার জন্য

repo forall [project-list] -c command

প্রতিটি প্রকল্পে প্রদত্ত শেল কমান্ড কার্যকর করে। নিম্নলিখিত অতিরিক্ত এনভায়রনমেন্ট ভেরিয়েবল দ্বারা উপলব্ধ করা হয় repo forall :

  • REPO_PROJECT প্রকল্পের অনন্য নাম সেট করা হয়।

  • REPO_PATH ক্লায়েন্ট রুট পাথ আপেক্ষিক।

  • REPO_REMOTE ম্যানিফেস্ট থেকে দূরবর্তী সিস্টেমের নাম।

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

  • REPO_RREV ম্যানিফেস্ট থেকে পুনর্বিবেচনা নাম, স্পষ্ট লেখা ঠিক হয়।

বিকল্প:

  • -c : কমান্ড এবং আর্গুমেন্ট চালানো। কমান্ড মাধ্যমে মূল্যায়ন করা হয় /bin/sh এবং এটি পরে আর্গুমেন্ট শেল অবস্থানগত প্যারামিটার হিসেবে মাধ্যমে গৃহীত হয়।

  • -p : উল্লেখিত কমান্ডের আউটপুট আগে প্রকল্পটি দেখান হেডার। কমান্ডের stdin, stdout, এবং sterr স্ট্রীমগুলিতে পাইপগুলিকে আবদ্ধ করে এবং একটি একক পেজার সেশনে প্রদর্শিত একটি অবিচ্ছিন্ন স্ট্রীমে সমস্ত আউটপুটকে পাইপ করার মাধ্যমে এটি অর্জন করা হয়।

  • -v : বার্তা দেখান কমান্ড stderr হবে লিখেছেন।

ছাঁটাই

repo prune [project-list]

ইতিমধ্যেই একত্রিত করা বিষয়গুলি ছাঁটাই (মুছে দেয়)।

শুরু

repo start
branch-name [project-list]

উন্নয়নের জন্য একটি নতুন শাখা শুরু করে, ম্যানিফেস্টে নির্দিষ্ট করা সংশোধন থেকে শুরু করে।

BRANCH_NAME যুক্তি পরিবর্তন প্রকল্পে করতে চেষ্টা করছি একটি সংক্ষিপ্ত বিবরণ প্রদান করে। আপনি জানেন না, তবে নামের ব্যবহারের বিষয়ে বিবেচনা default

project-list যুক্তি নির্দিষ্ট করে যা প্রকল্প এই বিষয়ে শাখা অংশগ্রহণ।

নোট: (।) একটি নির্দিষ্ট সময়ের বর্তমান ডিরেক্টরিতে প্রকল্পের জন্য সাধারণভাবে সংক্ষেপে হয়।

অবস্থা

repo status [project-list]

নির্দিষ্ট প্রতিটি প্রকল্পে স্টেজিং এরিয়া (সূচক) এবং এই শাখায় (HEAD) সবচেয়ে সাম্প্রতিক প্রতিশ্রুতির সাথে কাজের গাছের তুলনা করে। প্রতিটি ফাইলের জন্য একটি সারাংশ লাইন প্রদর্শন করে যেখানে এই তিনটি অবস্থার মধ্যে পার্থক্য রয়েছে।

বর্তমান শাখার অবস্থা, চালানো দেখার জন্য repo status . . স্থিতি তথ্য প্রকল্প দ্বারা তালিকাভুক্ত করা হয়. প্রকল্পের প্রতিটি ফাইলের জন্য, একটি দুই-অক্ষরের কোড ব্যবহার করা হয়।

প্রথম কলামে, একটি বড় হাতের অক্ষর নির্দেশ করে কিভাবে স্টেজিং এরিয়া শেষ প্রতিশ্রুতিবদ্ধ অবস্থা থেকে আলাদা।

চিঠি অর্থ বর্ণনা
- পরিবর্তন নেই হেড এবং সূচকে একই
যোগ করা হয়েছে মাথায় নয়, সূচকে
এম পরিবর্তিত HEAD এ, সূচকে পরিবর্তিত হয়েছে
ডি মুছে ফেলা হয়েছে HEAD এ, সূচকে নয়
আর নাম পরিবর্তন করা হয়েছে HEAD এ নয়, সূচকে পাথ পরিবর্তন হয়েছে
কপি করা হয়েছে HEAD এ নয়, সূচকে অন্য থেকে কপি করা হয়েছে
টি মোড পরিবর্তন হয়েছে HEAD এবং সূচকে একই বিষয়বস্তু, মোড পরিবর্তিত হয়েছে৷
একীভূত HEAD এবং সূচকের মধ্যে দ্বন্দ্ব; রেজল্যুশন প্রয়োজন

দ্বিতীয় কলামে, একটি ছোট হাতের অক্ষর নির্দেশ করে কিভাবে কার্যকারী ডিরেক্টরি সূচক থেকে আলাদা।

চিঠি অর্থ বর্ণনা
- নতুন/অজানা সূচকে নয়, কাজের গাছে
মি পরিবর্তিত সূচকে, কাজের গাছে, পরিবর্তিত
d মুছে ফেলা হয়েছে সূচকে, কাজের গাছে নয়

রেপো ত্রুটি হ্যান্ডলিং

git commit -a # Commit local changes first so they aren't lost.
repo start branch-name # Start the branch
git reset --hard HEAD@{1} # And reset the branch so that it matches the commit before repo start
repo upload .

ত্রুটি repo: error: no branches ready for upload হচ্ছে কমান্ড যখন repo start অধিবেশনের শুরুতে চালানো হয় নি। পুনরুদ্ধার করতে, আপনি কমিট আইডি পরীক্ষা করতে পারেন, একটি নতুন শাখা শুরু করতে পারেন এবং তারপরে এটি একত্রিত করতে পারেন।