গিটিগনোরের মধ্যে নেই এমন ফাইলগুলিকে উপেক্ষা করছে it


117

আমার কাছে একটি গিট সংগ্রহস্থল রয়েছে যা ইমেজ ফাইলের পাশাপাশি কিছু অন্যান্য ফাইল .gitignoreউপেক্ষা করছে , তবে আমার ফাইলটিতে কেবল একটি config.phpফাইল উপেক্ষা করা হচ্ছে ignoring কোথাও এমন কিছু বিশ্বব্যাপী উপেক্ষা করা ফাইল রয়েছে যা আমি খুঁজে পাচ্ছি না? ফাইলগুলি এখনই যুক্ত করতে আমাকে নির্দিষ্ট করতে হবে, এবং এটি আমাকে এই সতর্কতা দিচ্ছে:

নিম্নলিখিত। পাথগুলি আপনার .gitignore ফাইলগুলির মধ্যে একটি দ্বারা উপেক্ষা করা হয়েছে।

আমার ~/.gitconfigফাইলের বিষয়বস্তুগুলি কেবলমাত্র আমার ইমেল ঠিকানা।


সম্পর্কিত: stackoverflow.com/questions/12144633/...
krlmlr

উত্তর:


198

git check-ignore

আপনার gitignore ফাইলটি ডিবাগ করতে git check-ignoreকমান্ডটি ব্যবহার করুন (ফাইলগুলি বাদ দিন)।

উদাহরণ স্বরূপ:

$ git check-ignore -v config.php
.gitignore:2:src    config.php

প্রতিটি প্রদত্ত পথের নাম (লাইন সহ) এর সাথে ম্যাচিং প্যাটার্ন (যদি থাকে তবে) সম্পর্কে উপরের আউটপুট বিশদ।

সুতরাং আপনার ফাইলের এক্সটেনশানটি এড়ানো হবে না, তবে পুরো ডিরেক্টরিটি।

ফিরে ফর্ম্যাটটি হ'ল:

<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>

অথবা আপনার .gitignoreব্যবহারকারী হোম এবং সংগ্রহস্থল ফোল্ডারে মুদ্রণের জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন :

cat ~/.gitignore "$(git rev-parse --show-toplevel)"/.gitignore "$(git rev-parse --show-toplevel)"/.git/info/exclude

বিকল্পভাবে ব্যবহার করুন git add -fযা অন্যথায় উপেক্ষা করা ফাইল যুক্ত করার অনুমতি দেয়।

দেখুন: man gitignore, man git-check-ignoreআরো বিস্তারিত জানার জন্য।

বাক্য গঠন

গিট চেক-উপেক্ষা [বিকল্পসমূহ] পথের নাম ...

git চেক-উপেক্ষা [বিকল্পসমূহ] - স্টাডিন


5
এটি গৃহীত উত্তরের চেয়ে অনেক ভাল। এটির জন্য কোনও অপরাধ নয়, তবে এটি আমার দিনকে বাঁচিয়েছিল। ধন্যবাদ ক্যানরব
লুয়ানজুনই

1
আরও upvotes প্রাপ্য। কিছু / বিক্রেতার / ফোল্ডারগুলিতে কিছু অদ্ভুত গিটিগনোর সর্বশেষ গিট সংস্করণ নিয়ে সমস্যা সৃষ্টি করেছে Found
ম্যানুয়েল আর্মড স্মিট

2
এটিই আজ আমাকে বাঁচিয়েছে ... মনে হচ্ছে ভিজ্যুয়াল স্টুডিও ব্যবহারকারীদের নথি ফোল্ডারে gitignore_global.txt নামে একটি ফাইল তৈরি করেছে এবং এটি যে ফাইলগুলিকে উপেক্ষা করছিল তা আমি উপেক্ষা করতে পারি না
স্যামুয়েল

1
আমার সমস্যাটি পুরোপুরি সমাধান করেছেন। কিছু কিছু নিদর্শন চোখে ধরা সহজ নয় !!
উইলা

54

আপনার গিট কনফিগারেশনে একটি কোর.এক্সক্লুডসফাইল থাকতে পারে যা অতিরিক্ত নিদর্শনগুলি উপেক্ষা করে এমন কোনও ফাইলের পথ। (সমস্যাযুক্ত গিট রেপো) চালিয়ে আপনার যদি এমন কনফিগারেশন রয়েছে তা খুঁজে পেতে পারেন:

git config core.excludesfile

যদি এটি কোনও ফাইলের পাথ প্রিন্ট করে তবে আরও তথ্যের জন্য সেই ফাইলের বিষয়বস্তুটি দেখুন।

আমার ক্ষেত্রে আমি বক্সনের একটি পুরানো সংস্করণের মাধ্যমে গিট ইনস্টল করেছি যা 'আইকন' ধরণটিকে উপেক্ষা করে? এই ক্ষেত্রে আমার ফোল্ডার আইকনগুলির জন্য এই প্রশ্নে উল্লিখিত সতর্কবার্তাটি দিয়েছে (আইকনটি আইকনগুলির সাথে মেলে তাই আমি একটি সংবেদনশীল ফাইল সিস্টেমের সাথে আছি)।


2
এটা আসলে আমার সমস্যা ছিল। কীভাবে বা কখন এই ফাইলটি সম্পাদনা করা হচ্ছে তা নিশ্চিত নয় তবে এতে ফাইলটি এতে তালিকাবদ্ধ থাকতে চেয়েছিল
টেক্সাক

2
আপনাকে ধন্যবাদ, আপনি আমাকে খাঁটি যন্ত্রণার কয়েক ঘন্টা বাঁচিয়েছেন। আমার ক্ষেত্রে এটি ছিল সোর্স ট্রি (একটি সরঞ্জামটি গিট রেপো ভিজ্যুয়ালাইজ করা) যা অযৌক্তিকভাবে নথি ফোল্ডারে একটি gitignore_global.txt ফোল্ডারে তৈরি হয়েছিল যাতে প্রচুর পরিমাণে ব্যতিক্রম অন্তর্ভুক্ত থাকে।
যান্ত্রিক বস্তু

আমি একই অভিশাপ Icon?উপেক্ষা করা হয়েছিল।
জাস্টিন স্কাইল 10:25

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

আমার বিশ্বব্যাপী আমি * .জেসনকে উপেক্ষা করেছি - একটি দুঃস্বপ্ন সম্পর্কে কথা বলি - আপনাকে ধন্যবাদ!
জেসন পারফেট্টো

31

এগুলি পরীক্ষা করে দেখুন:

  1. আপনি কি অন্যান্য .gitignore ফাইলগুলির সন্ধান করেছেন, কারণ এর মধ্যে অনেকগুলি থাকতে পারে।

  2. এছাড়াও, সেখানে কিছু আছে কিনা তা দেখতে REPO / .git / কনফিগারেশনটি দেখুন।

  3. রেপো বাদ দেওয়া স্থানীয় প্রতি-রেপো নিয়মগুলি আপনার রেপোতে .git / তথ্য / বাদ দেওয়া ফাইলের সাথে যুক্ত করা যেতে পারে। এই বিধিগুলি রেপোর সাথে প্রতিশ্রুতিবদ্ধ নয় তাই এগুলি অন্যের সাথে ভাগ করা যায় না। এই পদ্ধতিটি স্থানীয়ভাবে উত্পাদিত ফাইলগুলির জন্য ব্যবহার করা যেতে পারে যা আপনি অন্য ব্যবহারকারীদের উত্পন্ন করার আশা করেন না, যেমন আপনার সম্পাদক দ্বারা তৈরি করা ফাইল।


সংগ্রহস্থলগুলিতে অন্য কোনও .gitignore ফাইল নেই, বা .git / কনফিগারেশন ফাইলে এমন কিছু নেই যা কিছু উপেক্ষা করে। কীভাবে .git / তথ্য / বাদ দিয়ে কনফিগার করা হয়?
ইয়ান হান্টার

4
কেন এই উত্তরটিকে উত্তর হিসাবে চিহ্নিত করা হয়েছে তা পরিষ্কার নয়। এই সমস্যাটি ঠিক কীভাবে সমাধান করা গেল?
পরবর্তী বিকাশকারী

বাদ আমার সমস্যা ছিল। আমি জানতাম উপেক্ষা করার আর একটি উপায় ছিল, যা আমি আগে ব্যবহার করতাম, তবে এটি কোথায় ছিল তা ভুলে গিয়েছিলাম!
চকি

22

আমার একই সমস্যা ছিল - এই ডিরেক্টরিতে ত্রুটিযুক্ত একটি ডিরেক্টরি গিট দ্বারা উপেক্ষা করা হচ্ছে:

➭ git add app/views/admin/tags/
The following paths are ignored by one of your .gitignore files:
app/views/admin/tags
Use -f if you really want to add them.
fatal: no files added

অবশেষে আমি বুঝতে পারি যে আমার সমস্যাটি আমার মধ্যে একটি লাইন ছিল ~/.gitignore_global:

TAGS

যা পথের সাথে মিলছিল app/views/admin/tags। আমি গ্লোবাল গিটগনোর ফাইলটিতে একটি শীর্ষস্থানীয় স্ল্যাশ যুক্ত করে এটি ঠিক করেছি

/TAGS

এবং গিট আবার আমার ডিরেক্টরি ট্র্যাক করতে শুরু করেছে।


3
আমাকে আংশিক ম্যাচ সন্ধানের জন্য +1 ... gitignore_global.txt এতে "[আরআর] এলিজ * /" রয়েছে যা আমার "রিলিজ নোট" ডিরেক্টরিটিকে উপেক্ষা করার কারণ ছিল।
ট্র্যাভ

এটিকে আরও শক্ত করার জন্য, গিটটি কেবল নতুন-যুক্ত হওয়া ফাইলগুলিকে উপেক্ষা করবে, ইতিমধ্যে রেপোতে নেই। সুতরাং যখন আমি আমার .gitignore এ "foo /" যুক্ত করেছি, তখন এটি কেবলমাত্র foo উপ-ডিরেক্টরিতে যুক্ত হওয়া ফাইলগুলিকে উপেক্ষা করেছে এবং সমস্ত ফাইল নয়। কিছু ফাইল কেন উপেক্ষা করা হচ্ছে এবং অন্যগুলি তা করা হচ্ছে না তা জানতে আমাকে এক ঘন্টা সময় নিয়েছে।
সাইকেলটি

আমি একই সমস্যা আছে। সোর্সট্রি সরঞ্জাম মেনুতে। / .Gitignore_global ফাইল-> বিকল্প আইটেম-> গিট ট্যাবে সেট করে। আমি ক্ষেত্রটি পরিষ্কার করার পরে গ্লোবাল উপেক্ষা করুন তালিকা "গিট অ্যাড ..." কমান্ড কাজ করেছে।
কেট

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

9

আমার জন্য আমার দুর্ঘটনাক্রমে আমার ~ / .gitignore_global ফাইলটিতে একটি ওয়াইল্ডকার্ড ছিল। হয়ত সেখানে চেক করবেন?


1
আমার কাছে ঠিক বিষয়টি ছিল। আমার এখানে * .png ছিল, কীভাবে এটি সেখানে পেল না।
শাহার

3

আরেকটি চেষ্টা করার চেষ্টা করুন: আমার একটি ডিরেক্টরি বি এর নিজস্ব .gitসংগ্রহস্থল সহ আমার প্রকল্প ডিরেক্টরি এ এর ​​অধীনে ছিল (তবে সাবমডিউল হিসাবে নয়)। আমি বি তে কিছু পরিবর্তন করেছি, এবং এটি একটি বোনাফাইড সাবমডিউলে পরিণত করতে চেয়েছিলাম। আমি বিশ্বাস করি গিট এ স্বয়ংক্রিয়ভাবে বি উপেক্ষা করছে কারণ এটিতে নিজস্ব সংগ্রহস্থল রয়েছে ( সাবস্টিউড ব্যতীত নেস্টেড গিট সংগ্রহস্থলগুলি দেখুন ? ) আমি বি ফোল্ডারটির নতুন নামকরণ করেছি, এবং এটি আবার সাবমডিউল হিসাবে ক্লোন করার চেষ্টা করেছি এবং এটি আমাকে ".gitignore দ্বারা উপেক্ষা করা" ত্রুটি বার্তাকে বিভ্রান্তকারী হিসাবে নিয়ে আসছিল। সমাধানটি .gitবি থেকে মুছে ফেলা হয়েছিল was


2

আপনার মতো ঠিক আমারও সমস্যা ছিল। কেবলমাত্র উত্তরটি আপনি চেক করার জন্য কয়েকটি জায়গা তালিকাভুক্ত করেছেন, কিন্তু সেগুলির কোনওোটাই আমার জন্য সমস্যার সমাধান করেনি, এবং আপনার মন্তব্য থেকে আমি আপনার পক্ষেও ভাবি না। আমার আর কোনও .gitignore ফাইল ডিরেক্টরি গাছের নীচে লুকিয়ে নেই; .git / config তে কিছুই নেই; .git / ingore / কে বাদ দিয়ে কিছু নেই

আপনার যদি এখনও সমস্যা হয় তবে এই উত্তরটি দেখুন । এটি আমার জন্য সমস্যাটি সমাধান করেছে

মূলত, একটি। / .Gitignore ফাইলের জন্য পরীক্ষা করুন। খনিটিকে ~ / .gitignore_global বলা হত। কখন তৈরি করা হয়েছে তা আমি জানি না ( আমি অবশ্যই এটি তৈরি করিনি), তবে আমি প্রথম ইনস্টল করার সময় আমি এক টন বিভিন্ন গিট সেটআপ চেষ্টা করেছি, তাই তাদের মধ্যে একটি অবশ্যই এটি সেখানে রেখেছিল।

আশা করি তার উত্তরটি আপনাকেও সহায়তা করবে!


1

গিট থেকে এই ত্রুটি বার্তা পাওয়ার অন্য কারণ হ'ল git submodule addকমান্ডটি সঞ্চালনের সময় পূর্ববর্তী গিট কমান্ডটি ক্র্যাশ হয়ে লক ফাইলটি ফেলে রেখেছিল (উদাহরণস্বরূপ, যখন আপনি কাস্টম স্ক্রিপ্টগুলি ব্যবহার করতে পারেন যেখানে গিট কমান্ডগুলি অন্তর্ভুক্ত থাকে এবং আপনি এটি লক্ষ্য করেন নি ক্র্যাশ করে)।

যদি আপনি git commitপরিবর্তে কমান্ডটি কার্যকর করেন তবে শর্তগুলির git submodule addকোনওটিই বদলায় না (( আপনার .gitignoreফাইলগুলি দোষী বলে যে চিৎকার করবে )), আপনি পরিবর্তে অন্য একটি ত্রুটি রিপোর্ট দেখতে পাবেন :

$ git commit -a
fatal: Unable to create '..../.git/index.lock': File exists.

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.

এবং প্রকৃতপক্ষে লকফিলটি মোছা হচ্ছে:

rm .git/index.lock

বিষয়টি সমাধান করে। (এটি গিট সংস্করণ ২.১.০.737366 এ ঘটে happens এটি ভবিষ্যতের গিট রিলিজগুলিতে স্থির থাকতে পারে))


ধন্যবাদ এটি আমার কাছে আসার সমস্যাটিতে পরিণত হয়েছিল। জীবন রক্ষাকারী!
JDawgg

1

ফোল্ডারে আপনার অনুমতি আছে কিনা তা পরীক্ষা করুন। আমি সবেমাত্র এটিতে চলে এসেছি এবং এটি কারণটি ছিল যে ফোল্ডারটি www- ডেটা ব্যবহারকারীর মালিকানাধীন ছিল আমি যে ব্যবহারকারী হিসাবে টার্মিনালে লগইন করেছিলাম।


1

আমার ক্ষেত্রে এটি ছিল আমার পথে এগিয়ে আসা স্ল্যাশ যা সমস্যার সৃষ্টি করে ...

কাজ করে না

/srv/bootstrap/

কাজ

srv/bootstrap/

1

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


0

দয়া করে যাচাই করুন ~/.gitignoreএবং ~/.gitignore_globalযা কিছু গিট ক্লায়েন্ট তৈরি করতে পারে (যেমন ম্যাক ওএস এক্সে আটলাসিয়ান সোর্স ট্রি)।


0

.gitignoreফাইলটি নিজে এড়ানো হচ্ছে না তা নিশ্চিত করুন । একটি সাধারণ ভুল বর্তমান ফোল্ডারের প্রতিটি ফাইল উপেক্ষা করার জন্য একটি *বিধি যুক্ত করছে .gitignore। এর সমাধান হ'ল এতে ব্যতিক্রম যুক্ত করা .gitignore:

*
!.gitignore

এইভাবে ডিরেক্টরি বাদে সমস্ত ফাইল উপেক্ষা করা হবে .gitignore

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