গিট ব্যবহার করে একটি নির্দিষ্ট শাখা আনুন


19

জিলিনেক্স উইকিতে বর্ণিত গিট ব্যবহার করে আমি মাস্টার-নেক্সট শাখা থেকে উত্স কোডটি ডাউনলোড করতে চাই ।

আমি এটি চেষ্টা করেছি:

#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git

Initialized empty Git repository in /home/Hannan/master-next/.git/
fatal: remote error:
Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name
Email support@github.com for help

এমনকি এটি ব্যর্থ হয়েছে:

# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git
Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/
fatal: remote error:
Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name
Email support@github.com for help

যে কমান্ডটি কাজ করে তা হ'ল:

 git clone git://github.com/Xilinx/u-boot-xlnx.git

তবে আমি কীভাবে জানব যে এটি সত্যই মাস্টার-নেক্সট শাখাটি আনবে এবং মাস্টার শাখাটি নয় ? গিট ব্যবহার করে আমি কীভাবে একটি নির্দিষ্ট শাখা সঠিকভাবে আনব?

আমি RHEL 6 ব্যবহার করছি, পুটি মাধ্যমে অ্যাক্সেস করা।

উত্তর:


16

ত্রুটি বার্তাটি আপনাকে বলেছে, git cloneগিট সংগ্রহস্থলটি আশা করে। আপনি সেই পথে কোনও শাখার নাম "যুক্ত" করতে পারবেন না। গিট শাখা দেখুন ।

আপনি একটি একক শাখা ক্লোন করতে পারেন (এবং এটির ইতিহাস): git clone <url> --branch <branch> --single-branch

দেখুন git help clone

তবে আপনি যে ক্লোন কমান্ডটি চালিয়েছিলেন তা আপনাকে পুরো সংগ্রহশালার একটি অনুলিপি দিয়েছে, আপনি বিদ্যমান শাখাগুলি git branchএবং সেগুলি সম্পর্কে আরও বিশদ সহ দেখতে পারেন git show-branch

আপনি যে শাখার সাথে চান তা স্যুইচ করুন git checkout branch-name

প্রো গিট বইয়ের প্রথম অধ্যায়গুলি (অনলাইনে উপলব্ধ) বুনিয়াদি আদেশগুলি সম্পর্কে আরও বিশদ দেয় give


"আপনি চালিত ক্লোন কমান্ডটি আপনাকে পুরো সংগ্রহশালার একটি অনুলিপি দিয়েছে" .কোন সংগ্রহস্থলটির অর্থ উভয় শাখা একত্রিত করা হয়েছে?
ব্যবহারকারী 2799508

না তারা একীভূত হয় না। গিটের একটি শাখা পুরো ডিরেক্টরিটির অনুলিপি নয়, এখানে বর্ণিত ।
লিয়াজ

আমি যা করেছি তা হ'ল "গিট ক্লোন-বি মাস্টার-নেক্সট github.com/Xilinx/u-boot-xlnx.git " এটি কি সঠিক নয়?
ব্যবহারকারী 2799508

আপনার আর ক্লোন দরকার হয়নি। আপনার প্রশ্নে আপনি যে কমান্ডটি দেখিয়েছেন তা আপনাকে সমস্ত শাখাগুলির সহ সংগ্রহস্থল দিয়েছে। তবে এটিও সঠিক। এটি git checkout master-nextক্লোনিংয়ের পরে করার সমতুল্য ।
লিয়াজ

13

এই আদেশটি কাজ করা উচিত:

$ git fetch origin [branch]

উপরের কমান্ডটি কেবল দূরবর্তী সংগ্রহস্থল থেকে মেটাডেটা আনে, এটি মার্জ উত্সগুলি করে না।

আপনি যদি উত্সগুলি আনতে এবং একত্রী করতে চান তবে আদেশটিটি হ'ল:

$ git pull origin [branch]

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


আপনার উত্তরটি প্রযুক্তিগতভাবে সঠিক তবে আমি মনে করি এটি কিছু ব্যাকরণগত পরীক্ষা / পুনর্লিখনের দ্বারা উপকৃত হতে পারে।
সামি লাইন

এটি সুন্দরভাবে thx
nwgat

4

গিট সংগ্রহস্থলগুলিতে সমস্ত শাখা থাকে (তবে সংক্ষেপিত এবং কেবলমাত্র পার্থক্যের কারণে খুব কমই আকারের সমস্যা থাকে)।

অতএব, আপনি সাফল্যের সাথে পুরো প্রকল্পটি ক্লোন করতে পারেন। আপনার কাছে কেবল একটি শাখায় আগ্রহ থাকলেও, কোনও সংগ্রহস্থল পাওয়ার জন্য এটি একটি স্ট্যান্ডার্ড উপায়।

.Git কাঠামোটিতে os os সংগ্রহস্থলের সমস্ত শাখা অন্তর্ভুক্ত করা হবে

একটি নির্দিষ্ট শাখা ব্যবহার করার জন্য git checkout [branch_name] যদি শাখাটি উপস্থিত থাকে তবে ফাইলগুলি স্থানীয়ভাবে উপলব্ধ করা হবে (ঠিক তেমন, প্রকল্প ডিরেক্টরিতে বর্তমান ফাইলগুলি)।

git status তারপরে কোন শাখাটি বর্তমান শাখাটি প্রদর্শন করবে উদাহরণস্বরূপ:

লিয়াজের মতে যে কেউ একটি নির্দিষ্ট শাখা ক্লোন করতে পারেন। বাস্তবে আমি এটি কখনও করি নি বা অন্যরা এটি ব্যবহার করতে দেখিনি। আরও গবেষণায়, আমি দেখতে পাচ্ছি এটি তুলনামূলকভাবে নতুন, গিট ১.7.১০ (এপ্রিল ২০১২) এ যুক্ত হয়েছে: 'গিট ক্লোন শিখেছে - একা-শাখা' একক শাখায় ক্লোনিং সীমাবদ্ধ করার বিকল্প (আশ্চর্য!); যে শাখার ইতিহাসের দিকে ইঙ্গিত করে না এমন ট্যাগগুলি আনা হয় না। উদাহরণ স্বরূপ:

git clone -b master-next --single-branch git://github.com/Xilinx/

এখানে চিত্র বর্ণনা লিখুন এখানে, আমার "লিঙ্কার" অ্যাপ্লিকেশনটির জন্য আমি শাখা পরীক্ষা করছি v3.0.10


1
আমি এটি কখনই করিনি, বিকল্পটি মনে পড়ে আমার মনে পড়ে। আমার ধারণা এটি অতিরিক্ত শাখা আকারে "সস্তা" হওয়ায় এটি খুব কমই ব্যবহৃত হয়।
লিয়াজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.