গিটে ফোল্ডার যুক্ত করতে পারে না


21

আমি নতুন ফোল্ডার যুক্ত করেছি (আসলে আমি এটি অন্য রেপো থেকে ক্লোন করেছিলাম, এবং এটি ভুলে গিয়েছি), তারপরে আমি সেখানে কিছু পরিবর্তন করেছি। গিট অ্যাড করার চেষ্টা করার পরে আমি অন্য জায়গায় প্রচুর পরিবর্তন করেছি

# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   protected/ext/SpecificFolder (modified content)
#

তারপরে আমার মনে আছে যে সম্ভবত .git ফোল্ডারটি ছিল (কারণ আগে আমি সেখানে গিট ক্লোন করেছিলাম)। আমি সেই ফোল্ডারে গিয়েছিলাম এবং অ-প্রয়োজনীয় ফাইল (ফোল্ডার) এবং .git ফোল্ডারটিও সরিয়েছি। আমি গিট স্ট্যাটাস পরীক্ষা করে দেখেছি, আজব কিছু নয়। তারপরে প্রতিশ্রুতিবদ্ধ এবং অন্য শাখায় চেকআউট করুন এবং হঠাৎ আমি বুঝতে পারি যে এই ফোল্ডারটি শেষ প্রতিশ্রুতিতে যুক্ত হয়নি। প্রকৃতপক্ষে ফোল্ডার যুক্ত করা হয়েছিল তবে ভিতরে থাকা ফাইলগুলি উপেক্ষা করা হয়েছিল। এখন যখন আমি git addসেই ফোল্ডারের জন্য কিছু করার চেষ্টা করছি তখনও কিছুই ঘটছে git statusনা এবং কোনও পরিবর্তন দেখাবে না :(

আমি কি করতে পারি ?


6
যদি আমি যে সমস্যার মুখোমুখি হয়েছি অন্য কেউ এই পৃষ্ঠায় শেষ না করে: আমি গিতে একটি সাব-ফোল্ডারে ফাইল যুক্ত করতে পারিনি। পরে আমি দেখতে পেলাম যে সাব-ফোল্ডারের নিজস্ব .gitসংগ্রহস্থল ছিল এবং ফাইলগুলি ফোল্ডারে মূল ফোল্ডারের পরিবর্তে সংগ্রহস্থলের পরিবর্তে যুক্ত করা হয়েছিল। এমনকি গিট জিইউআইতেও sub সাব-ফোল্ডারটি ফোল্ডারের পরিবর্তে ফাইল হিসাবে উপস্থিত হয়েছিল।
নাভি

উত্তর:


29

গিট ডিরেক্টরিগুলি ট্র্যাক করে না; তবে তাদের মধ্যে কেবল ফাইলগুলি।

দেখে মনে হচ্ছে আপনার কাছে কোনও উপেক্ষা প্যাটার্ন থাকতে পারে যা কিছু addকরতে পারে না। আপনি এতে অবহেলিত ফাইলগুলি দেখতে পারেন git status --ignored; তারা তারপর ট্র্যাক করা যেতে পারেgit add --force protected/ext/SpecificFolder


1
না এটি উপস্থাপিত নয় git status --ignored, একরকম আমি ভাবছি এটি
সাবমডুলের

1
এই আদেশ একটি জীবন রক্ষাকারী ছিল। এটি ছাড়া, আমি কখনই আবিষ্কার করতে পারি না যে ডিরেক্টরিটি উপেক্ষা করা হয়েছিল।
ইগোরগানাপলস্কি

বাহ ..... বেশ কিছু সময়ের জন্য গিট ব্যবহার করার পরে আমি এই সত্যটি পড়তে সম্পূর্ণ বোকা অনুভব করেছি
X

1
আহা, অবশেষে। এটা আমার সমস্যা ছিল। আমি পিতামাতার কাছ থেকে .gitignore এবং সাবমডিউলগুলিতে অনুলিপি করেছি। আমি 'কনফিগার /' উপেক্ষা করছিলাম এবং পরে আমি সোর্স ডির নামে কনফিগার নামে একটি ডিরেক্টরি তৈরি করেছি। উত্স যোগ করা যায়নি। সমস্যা সমাধান হয়েছে এখন আপনাকে ধন্যবাদ :-)
আভেক

7

গিট EMPTY ডিরেক্টরিগুলি ট্র্যাক করে না। আপনার যদি একটি ডিরেক্টরি ডাব্লু / উপ-ডিরেক্টরিগুলির একাধিক স্তর থাকে তবে গিট প্রকৃতপক্ষে সেগুলির মধ্যে ডিরেক্টরি ডাব্লু / ফাইলগুলি ট্র্যাক করে। যদি এটি না হয়, তবে এটি ফাইলগুলির একটি সমতল ভান্ডার হবে।


বাহ এটা খুব সহজ জিনিস কিন্তু অভিশাপ। আমি এটি পড়েছিলাম এবং গিয়েছিলাম "ওহে আমার that's
শ্বর

3

এই ব্যবহারকারীটি ঠিক কী করেছিল আমি তা করতে পেরেছি: অন্য একটিতে বিদ্যমান গিট সংগ্রহস্থল যুক্ত করুন।

লক্ষণটি হ'ল গিটটি সেই ডিরেক্টরিটিকে একটি ফাইল হিসাবে স্বীকৃতি দেয় এবং এভাবে ডিরেক্টরিটির ফাইলগুলি যুক্ত করতে অক্ষম।

এই প্রশ্নটি সমাধান করার জন্য, আমি .gitফোল্ডারটিতে ফোল্ডারটি মুছলাম, সেই ফোল্ডারটিকে অন্য ডিরেক্টরিতে সরিয়ে নিয়েছি, সূচিটি সাফ করেছি, আমার রেপোতে থাকা ডিরেক্টরিটি সরিয়ে ফেললাম এবং তারপরে আমি ডিরেক্টরিটি সঠিকভাবে যুক্ত করতে সক্ষম হয়েছি।

এর নৈতিকতা হ'ল: অন্য কোনওটির ভিতরে কোনও সংগ্রহস্থল যুক্ত করবেন না।


5
এটি git rm --cached path_to_submodule
চালিয়েও


0

সেই ডিরেক্টরিতে একটি ফাইল যুক্ত করার চেষ্টা করুন।

$ git add my-dir/index.html

আপনি যদি নীচের মত একটি আউটপুট দেখতে পান:

The following paths are ignored by one of your .gitignore files:
my-dir/index.html
Use -f if you really want to add them.
fatal: no files added

আপনার গিটিগনোরোর একটির মধ্যে একটি বিধি রয়েছে যা আপনাকে সেই ডিরেক্টরি যুক্ত করতে বাধা দেয়।


0

সাবমডিউল হিসাবে ব্যবহৃত যা সাধারণ সাবফোল্ডারে রূপান্তর করার চেষ্টা করার পরে আমি একই রকম পার্শ্ব প্রতিক্রিয়া পেয়েছি।

আমি যে ফোল্ডারটি রূপান্তর করার চেষ্টা করছিলাম সেটিকে পুনরায় যুক্ত করা দেখে মনে হচ্ছে এটি কাজ করছে তবে দেখা যাচ্ছে যে এর ভিতরে থাকা ফাইলগুলি আসলে যুক্ত হয়নি।

এর অভ্যন্তরে কোনও ফাইল যুক্ত করার চেষ্টা আমাকে আরও ভাল সতর্কতা দিয়েছে

git add sites/all/modules/contrib/transclusion/transclusion.module 
fatal: Pathspec 'sites/all/modules/contrib/transclusion/transclusion.module' is in submodule 'sites/all/modules/contrib/transclusion'
  • সুতরাং এটি সঠিকভাবে করার জন্য কোনও ডকুমেন্টেড প্রক্রিয়া না থাকায় আমি পুরানো সাবমোডিয়ুলটি ম্যানুয়ালি মুছে ফেলার চেষ্টা করার সাথে সম্পর্কিত ছিল। - আমি এটি .gitmodule থেকে সবে সরিয়েছি। সাবমডিউলের ছায়াটি খালি করার জন্য অন্যান্য জিনিসগুলি আসলেই প্রয়োজনীয় ছিল।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.