মারাত্মক: একটি বৈধ অবজেক্টের নাম নয়: 'মাস্টার'


182

আমার একটি বেসরকারী সার্ভারের গিট 1.7 চলছে running

git init 

একটি ফোল্ডার এটি একটি মাস্টার শাখা তৈরি করে না। আমি যখন করি তখন কারণ:

git branch 

এটি কিছুই তালিকাভুক্ত না। যখন আমি করি:

git --bare init

এটি ফাইল তৈরি করে। আমি যখন টাইপ করি

git branch master 

এটা বলে:

fatal: Not a valid object name: 'master'.

নতুন শাখা উত্পন্ন করার চেষ্টা করার সময় একই ফলাফল:git branch newbranch
সেরেন

উত্তর:


279

আমি যখন git initফোল্ডার করি তখন এটি মাস্টার শাখা তৈরি করে না

এটি সত্য এবং প্রত্যাশিত আচরণ। masterআপনি কিছু না করা পর্যন্ত গিট কোনও শাখা তৈরি করবে না ।

আমি যখন git --bare initএটি করি ফাইল তৈরি করে।

একটি নন-বেয়ার আপনার প্রকল্পের মূলের git initএকটি লুকানো .gitডিরেক্টরিতেও একই ফাইলগুলি তৈরি করবে ।

আমি টাইপ git branch masterকরলে এটি "মারাত্মক: একটি বৈধ অবজেক্টের নাম নয়: 'মাস্টার'" বলে

এটি আবার সঠিক আচরণ। যতক্ষণ না আপনি প্রতিশ্রুতি দেন, কোনও মাস্টার শাখা নেই।

আপনি কোন প্রশ্ন জিজ্ঞাসা করেননি, তবে আমি যে প্রশ্নটি করেছিলাম তা আপনি জিজ্ঞাসা করতে চেয়েছিলেন বলে আমি উত্তর দেব। আপনার ডিরেক্টরিতে এক বা একাধিক ফাইল যুক্ত git addকরুন এবং সেগুলি প্রতিশ্রুতি প্রস্তুত করতে। তারপরে git commitআপনার প্রাথমিক প্রতিশ্রুতি এবং masterশাখা তৈরি করতে ।


3
সুতরাং, যদি আমি কখনই "মাস্টার" নামক কোনও শাখা-পয়েন্টার না চাইতাম? আমি যদি এটি "প্রধান" বলা চাই? প্রথম শাখা-পয়েন্টারের আলাদা নাম দিয়ে আরম্ভ করার কোনও উপায় নেই? "গিট ইনড" পরামিতি নেই? আমি কি .git / শিরোনামে তালিকাভুক্ত নামটি পরিবর্তন করতে পারি? আমারও কি আরও কিছু ফাইল পরিবর্তন করতে হবে?
জেমেনকে

1
@ জেমেনকে তারপরে আপনার ভান্ডারটি সজ্জিত করুন, একটি অঙ্গীকার করুন এবং শাখার নাম পরিবর্তন করুন name আপনি যদি সত্যিই কোনও "মাস্টার" শাখা তৈরি করা, সম্পাদনা করতে .git/HEADএবং এতে পরিবর্তন refs/heads/masterকরতে চান refs/heads/mainতবে এগুলি করার কোনও কারণ নেই । প্রথম অঙ্গীকারের পরে কেবল আপনার শাখার নাম পরিবর্তন করুন।
মেটাগার

13
আপনি git checkout -b <branchname>হেড পরিবর্তন করতে ব্যবহার করতে পারেন - আপনার ফাইলটি সম্পাদনা করার দরকার নেই।
সুপারফ্লাই জন

1
শেষ অংশটি সোনার ছিল, টিএফএস জিআইটি সম্পূর্ণ অবিচ্ছিন্ন গিট রেপো সহ আসে। সোর্সট্রি ব্যবহার করে প্রথম ক্লোন করার পরে, কিছুই কার্যকর হয় না, "তারপরে গিট কমিট আপনার প্রাথমিক কমিট এবং মাস্টার ব্রাঞ্চ তৈরি করতে" না হওয়া পর্যন্ত এটি দীর্ঘস্থায়ী হতে পারে না। প্রাথমিক প্রতিশ্রুতি / ধাক্কা ছাড়াই মাস্টার-লোকাল / রিমোটের সত্যিই কোনও উপায় নেই?
পাভেল সিওচ

সর্বশেষ ব্যাখ্যাটি আমাকে বুঝতে সাহায্য করে যে কোনও কমিটি না থাকলে শাখার অস্তিত্ব থাকতে পারে না।
ময়ুর পাতিল

23

একবার আপনি প্রথম প্রতিশ্রুতি সম্পন্ন করার পরে গিট একটি মাস্টার শাখা তৈরি করে। ভান্ডারটিতে কোনও কোড না থাকলে এর জন্য একটি শাখা থাকার কিছুই নেই।


1
মাস্টার intoোকানোর জন্য আপনার নতুন শাখা দরকার need
সেরেন

1
এখানে 'আপনি প্রথম প্রতিশ্রুতিবদ্ধ হয়ে গেলে গিট একটি মাস্টার শাখা তৈরি করে regarding' সংক্রান্ত একটি প্রশ্ন এখানে রয়েছে। তাহলে এই সমস্ত কিছুর আগে 'গিট স্ট্যাটাস' 'ব্রাঞ্চ মাস্টার' দেখায় কেন?
টিক 20

16

প্রথমে, যখন আপনি "বেয়ার রিপোজিটরি" তৈরি করবেন, আপনি এটির সাথে কোনও কাজ করছেন না (এতে একটি ওয়ার্কিং কপি নেই, সুতরাং git branchকমান্ডটি কার্যকর নয়)।

এখন, একটি masterকাজ করার পরেও আপনার শাখা না থাকার কারণ git initহ'ল কোনও কমিট নেই: আপনি যখন প্রথম প্রতিশ্রুতি তৈরি করবেন তখন আপনার একটি masterশাখা থাকবে।


1
ঠিক আছে পরিষ্কার। তবে আমি যখন এটি প্রতিশ্রুতিবদ্ধ বলি: মারাত্মক: খালি পরিচয়
রায় ভ্যান জাটেন

আমি এটা ঠিক করেছিলাম। তবে যখন আমি অন্য কম্পিউটার থেকে এই রেপো টান / আনতে চাই। আমি কি সেখানে গিট ইডি করতে পারি?
রায় ভ্যান জাটেন

@ রোভানজানটেন আপনি রিসিভারের দিক git cloneথেকে কিছু করার জন্য সংরক্ষণ করতে ব্যবহার করতে পারেন git init
বোরিলিড

আমি এটি সব কাজ করতে পরিচালিত। কোনও ত্রুটি নেই। তবে যখন আমি এটির দিকে ধাক্কা দেওয়ার চেষ্টা করি তখন বলেছেন: অবজেক্ট রাইটিং <বিলা> বিলে> মোট </ 3/3> সার্ভারে 59fa0tweirdcod04 মাস্টার> মাস্টার কিন্তু যখন আমি সার্ভারে ফাইলগুলি পরীক্ষা করি তখন কিছুই থাকে না।
রায় ভ্যান জাটেন

@ রোভানজ্যান্টেন আপনি কি সার্ভার ভান্ডার বা সার্ভারের ওয়ার্কিং কপির দিকে তাকিয়ে আছেন ? git checkoutডাব্লুসিটি .gitডিরেক্টরিতে কী রয়েছে তা প্রতিফলিত করতে চাইলে আপনাকে একটি করতে হবে (যেখানে আপনি ধাক্কা দিয়েছিলেন)।
বোরিলিড

12

একটি নতুন শাখা তৈরি করার আগে আপনাকে মাস্টারটিতে কমপক্ষে এক সময় কমিট করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.