git - আমি কিভাবে গিট একটি একক শাখা ক্লোন করবেন?




branch git-clone (9)

  1. খোলা গিট বাশ শেল।
  2. আপনি চেকআউট করতে চান যেখানে আপনার ফাইল সিস্টেমের মধ্যে একটি ডিরেক্টরি তৈরি করুন।
    • $ mkdir বৈশিষ্ট্য_ develop_branch
  3. Feature_develop_branch ফোল্ডারে ডিরেক্টরি পরিবর্তন করুন।
    • $ সিডি Feature_develop_branch
  4. বহিরাগত ক্লোন URL ব্যবহার করে সংগ্রহস্থান ক্লোন করুন।
  5. ক্লোন করার পরে, ডিরেক্টরি তৈরি করতে ডিরেক্টরি পরিবর্তন করুন।
    • $ cd / repositoryName
  6. শাখা দেখুন।
    • $ git চেকআউট <Branch Name>

আমার একটি স্থানীয় গিট রিপোজিটরি আছে যা 'কঙ্কাল' নামে পরিচিত, যা আমি প্রকল্প skeleton সংরক্ষণের জন্য ব্যবহার করি। বিভিন্ন প্রকল্পের জন্য এটি কয়েকটি শাখা রয়েছে:

[email protected] [~/Projects/skeleton] git branch
* master
  rails
  c
  c++

যদি আমি একটি নতুন প্রকল্পের জন্য মাস্টার শাখাটি দেখতে চাই, আমি করতে পারি

[email protected] [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/

এবং সবকিছু আমি এটা চাই কিভাবে। বিশেষত, নতুন মাস্টার শাখাটি কঙ্কাল মাস্টার শাখার দিকে নির্দেশ করে এবং আমি মুষ্টিমেয় প্রকল্প সেটআপে পরিবর্তনগুলি সরানোর জন্য push এবং pull করতে পারি।

কাজ করে না, তবে, যদি আমি অন্য শাখা ক্লোন করতে চাই। আমি এটি পেতে পারি না যাতে আমি কেবল সেই শাখাটি টেনে আনতে পারি, যেমন rails শাখা, এবং উদাহরণস্বরূপ নতুন সংগ্রহস্থলটি একটি master শাখা রয়েছে যা ডিফল্টভাবে কঙ্কাল ভাণ্ডার rails শাখা শাখা থেকে push এবং pulls করে।

এই কাজ করার জন্য একটি ভাল উপায় আছে? অথবা, সম্ভবত গিট আমাকে জিনিসগুলি গঠন করতে চায় এমন নয় এবং আমি অবশ্যই এটির জন্য উন্মুক্ত। সম্ভবত আমার একাধিক সংগ্রহস্থল থাকা উচিত, রুবেল স্কিলটন রেপোজিটরিতে রুবি মাস্টার হ্যান্ডেল রিপোজিটরি ট্র্যাকিংয়ের সাথে? এবং Rails কঙ্কাল ভাণ্ডার উপর রুবি cloning কোনো পৃথক প্রকল্প।


2 ধাপে সম্পন্ন করা যেতে পারে

  1. সংগ্রহস্থল ক্লোন

    • git clone <http url>
  2. আপনি চান শাখা চেকআউট

    • git checkout $BranchName

আপনি দীর্ঘ বাতাস চেষ্টা করতে পারেন:

mkdir newrepo.git
cd newrepo.git
git init
git remote add origin file:///path/to/original
git fetch origin branchiwant:refs/remotes/origin/branchiwant
git checkout -b branchiwant --track origin/branchiwant

এই কি করে:

  • তৈরি করুন এবং একটি খালি গিট রিপোজিটরি init।
  • মূল রিপোজিটরিটি রিমোট নামক মূল হিসাবে যুক্ত করে।
  • রিমোট নামক শর্ট থেকে আপনার প্রয়োজনীয় শাখাটি সংগ্রহ করে।
  • আপনার ক্লোন করা উৎস শাখার ট্র্যাক করার জন্য সেট আপ করা একটি নতুন শাখা তৈরি করে এবং পরীক্ষা করে।

আশা করছি যে আপনি কি পরে কিছু হবে।


আপনি নীচের কমান্ডটি ব্যবহার করে এটি করতে পারেন:

git clone -b branch_name --single-branch project_url local_folder_to_clone_in

একটি নির্দিষ্ট শাখা ক্লোন করার জন্য আপনি করতে পারেন:

git clone --branch yourBranchName [email protected]


গিটের একটি শাখা ক্লোন করার জন্য আপনার কাছে সর্বজনীন কী নেই, এটি ব্যবহার করুন:

git clone -b <branch> <Git repository URL or clone URL you get from Git repository>

দ্রষ্টব্য: git1.7.10 (এপ্রিল 2012) আসলে আপনাকে কেবল একটি শাখা ক্লোন করার অনুমতি দেয়:

# clone only the remote primary HEAD (default: origin/master)
git clone --single-branch

as in:
git clone <url> --branch <branch> --single-branch [<folder>]

আপনি t5500-fetch-pack.sh এটি দেখতে পারেন:

test_expect_success 'single branch clone' '
  git clone --single-branch "file://$(pwd)/." singlebranch
'

Tobu comments যে:

একটি অগভীর ক্লোন করছেন যখন এই অন্তর্নিহিত।
এটি git clone --depth 1 ব্যান্ডউইথ সংরক্ষণ করার সবচেয়ে সহজ উপায়।

এবং গিট 1.9.0 (ফেব্রুয়ারী 2014) থেকে, অগভীর ক্লোনগুলি ডাটা স্থানান্তর (ধাক্কা / টান) সমর্থন করে, যাতে বিকল্পটি এখন আরও বেশি কার্যকর।
" git clone --depth 1 (অগভীর ক্লোন) এটিকে আরও কার্যকর করে git clone --depth 1 আরও বেশি কার্যকর" এ আরও দেখুন।

"অগোছালো" একটি অগভীর ক্লোন বিস্তারিতভাবে " রূপান্তরিত অগোছালো ক্লোন থেকে সম্পূর্ণ ক্লোন " এ ব্যাখ্যা করা হয়েছে (গিট 1.8.3+)

# unshallow the current branch
git fetch --unshallow

# for getting back all the branches (see Peter Cordes' comment)
git config remote.origin.fetch refs/heads/*:refs/remotes/origin/*
git fetch --unshallow

Chris মন্তব্য করেছেন:

অনুপস্থিত শাখাগুলি পেতে অনুপস্থিত শাখার জন্য জাদু লাইনটি হল --single-branch (গিট v2.1.4):

git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
git fetch --unshallow  

শুধুমাত্র এক শাখা ক্লোন। এই সবচেয়ে সহজ উপায়:

$ git clone -b BRANCH_NAME --single-branch [email protected]:___/PROJECTNAME.git

git clone <url> --branch <branch> --single-branch

শুধু ইউআরএল এবং শাখা নাম রাখা।







git-clone