গিট সাবমডিউল যোগ করার সময় "আপনি এখনও একটি শাখায় জন্মগ্রহণ করেন"


116

আমি আমার .vim/bundlesডিরেক্টরিতে কয়েকটি সাবমডিউল যুক্ত করার চেষ্টা করছি এবং আমি যখন এই বিশেষ রেপো যুক্ত করার চেষ্টা করি তখন গিট আমাকে একটি অদ্ভুত ত্রুটি দেয় যা আমি আগে কখনও দেখিনি:

$ git submodule add -f git://github.com/derekwyatt/vim-scala.git .vim/bundle/vim-scala
fatal: You are on a branch yet to be born
Unable to checkout submodule '.vim/bundle/vim-scala'

কোন ধারণা কি কারণ হতে পারে?

যদি আমি একই রেপোটিকে কোনও পরীক্ষার ডিরেক্টরিতে সাবমোডুল কমান্ডের মাধ্যমে নয় তবে এটি সূক্ষ্মভাবে কাজ করে এবং প্রত্যাশিত ফাইলগুলি তৈরি করে।

উত্তর:


210

এই ত্রুটিটি ঠিক করার জন্য, আপনাকে .git/modules/ডিরেক্টরিটির অভ্যন্তরীণ সাবমডিউলে একই পথ সহ ফোল্ডারটি মুছতে হবে । এই ত্রুটিটি ঘটতে পারে যখন প্রথমবারের মতো সাবমোডুল যুক্ত হয়েছিল যখন url সাবমোডিয়ুলের জন্য ভুল ছিল।


2
ধন্যবাদ, কৌতুক করেনি যে। প্রথমে কিছুটা অস্পষ্ট ছিল যেহেতু আমি .vim/bundle/vim-scalaমুছার পথে ক্লোনিং করছিলাম তা ছিল.git/modules/.vim/bundle/vim-scala
ম্যাট বি

2
আপনি যদি উইন্ডোতে থাকেন তবে নোট করুন যে .git / মডিউলগুলির আওতায় থাকা ডিরেক্টরিটি যদি আপনি না dir /AH
দেখেন

13
আমি সেই .git/modules/path/to/submoduleডিরেক্টরিটি মুছে ফেলা এবং সাব-মডুলটিকে পুনরায় যুক্ত করার চেষ্টা করার পরে, আমি ত্রুটিটি পেয়েছি নীচের পাথটি আপনার .gitignore ফাইলগুলির মধ্যে একটি দ্বারা উপেক্ষা করা হয়েছে: পাথ / টু / সাবমডিউল
ড্রয় নোকস

1
@Drew Noakes অপসারণ .vim / বান্ডিল / তেজ-Scala Git submodule অ্যাড প্রথম চালনার পরে নির্মিত
পাযত্র Król

উইন্ডোতে আপনি উইন্ডোজ এক্সপ্লোরার বিকল্পগুলিও ব্যবহার করতে পারেন (একই জায়গায় আপনি ফাইল এক্সটেনশনগুলি দেখতে পছন্দ করবেন) জিইউআইয়ের লুকানো ফোল্ডারগুলি দেখতে এবং সেগুলি মুছতে।
ব্যবহারকারী 83358

13

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

আপনি অন্য কোথাও নিয়মিত ক্লোন তৈরি করতে পারলে এখন সাবমডিউল রেপো নিজেই ঠিক আছে। যাইহোক, submodule addক্লোনটি না থাকলে রেপো খালি থাকলে অভিযোগ করার মতো মনে হচ্ছে । এই লোকটিsubmodule add পুনরায় একই কমান্ডটি চালিয়ে এটি স্থিরযোগ্য হওয়ার পরামর্শ দেয় ।

যদি অভ্যন্তরীণ রেপো খালি না থাকে তবে আপনি সাবমডিউলটি রাখতে চান এমন রেপো চেক করুন । আপনি যে ডিরেক্টরিটিতে দৌড়েছেন git submodule add, সেই একই ডিরেক্টরিতে পরিবর্তন করুন এবং চালনা করুন git statusএবং git branchআপনার ধারণকৃত রেপোতে কমপক্ষে একটি শাখা তৈরি হয়েছে এবং কোন অদ্ভুত অবস্থায় নেই তা যাচাই করতে।


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

এছাড়াও বিজোড়: fatalআমার ওপি থেকে সতর্কতার পরে , গিটটি একটি খালি দিরকে ছেড়ে যায় .vim/bundle/vim-scala। আমি আরও খেয়াল করেছি যে যদিও .gitmodulesএটি অচ্ছুত, এটি এই github.com রেপোতে উল্লেখ করে কিছু লাইন যুক্ত করেছে .git/config, তবে সেগুলি সরিয়ে দেওয়ার পরেও আমি একই fatalত্রুটির বার্তা পেয়েছি ।
ম্যাট বি

7
+1 আঃ! This guy suggests this is fixable by just running the same submodule add command again.। একটি বুদ্ধিমান উত্তর খোঁজার চেষ্টা করে আমি এই সমস্যার সাথে লড়াই করছি এবং শেষ পর্যন্ত এটি ঠিক করে দিয়েছে। বিএসবিকেট থেকে সাবমডিউল তৈরি করার সময় এটি এমএসওয়াইএসের আওতায় 1.8.0 গিটের জন্য ছিল, সুতরাং আপনি যদি একই পরিস্থিতিতে থাকেন তবে প্রথমে এটি চেষ্টা করুন।
অ্যারন নিউটন

দু'বার যুক্ত করা আমার পক্ষেও কাজ করেছে। তবে কেন বুঝতে পারছি না। কোন ব্যাখ্যা?
এলিস

পাশাপাশি এখানে দু'বার যুক্ত করা। যদিও আমি তা বুঝতে পছন্দ করব
ভিনিসিয়াস ড্যান্টাস

12

এই ত্রুটিটি ঘটতে পারে যদি আপনি কোনও masterউপ- মডেল যুক্ত করছেন যার কোন শাখা নেই। সাবমডিউল যুক্ত করার সময় আপনি যদি অন্য কোনও শাখা ব্যবহার করতে চান ( developউদাহরণস্বরূপ), আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

git submodule add -b <branch> <repository>

1
আমার ক্ষেত্রে রেপো নতুনভাবে তৈরি করা হয়েছিল এবং সুতরাং কোনও ফাইল এবং শাখা নেই (খালি ছিল), তাই git submodule add -b master <repo.git> <folder>সাহায্য করেছেন
ভ্লাদক্রাস

এটি আমার সমস্যা ছিল আমার সাবমডিউলটির কেবলমাত্র 2 টি শাখা ছিল সেগুলির কোনওটিই আমার masterজন্য কাজ করা আপনার সমাধান নয়।
গের্নিন 4

0

@ ড্র-নোকস দ্বারা চিহ্নিত হিসাবে, এটি আপনার .gitignore ফাইলে তালিকাভুক্ত ডিরেক্টরি নাম ব্যবহার করে একটি উপ-মডেল যুক্ত করার চেষ্টা করার কারণে ঘটতে পারে ।

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