আমি কীভাবে .gitignore কে অপ্রকাশিত ফাইলের তালিকায় উপস্থিত হওয়া থেকে থামাতে পারি?


971

আমি git initআমার নতুন প্রকল্পের মূলটি করেছি।

তারপরে আমি একটি .gitignoreফাইল তৈরি করেছি ।

এখন, যখন আমি টাইপ git status, .gitignore ফাইল untracked ফাইলের তালিকা প্রদর্শিত হবে। কেন এমন?


13
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD
অ্যালাস্টার

1
আমি কি .git / ফোল্ডারটিকে উপেক্ষা করে এটিকে ".gitignore" এ রাখতে পারি?
টিমো

2
আপনি লিনাক্সের আওতায় আপনার হোম ফোল্ডারে একটি গ্লোবাল "গিটিংগনোর" তৈরি করতে এবং এটি সেখানে সংরক্ষণ করতে পারেন: git config --global core.excludesfile ~ / .gitignore_global
টিমো

14
আমি অনুসন্ধান করে এখানে এসেছি how to gitignore .gitinore fileএবং প্রশ্ন এবং স্বীকৃত উত্তরগুলি শিরোনামের সাথে আসলে সম্পর্কিত নয়। শিরোনাম উন্নত করা যেতে পারে।
m.rufca

6
.Gitignore উপেক্ষা করার জন্য ব্যবহারের কেস রয়েছে। আমার দলের কর্মপ্রবাহের জন্য আমার স্থানীয় দেব পরিবেশের জন্য ফাইলগুলির একটি সেট পরিবর্তন করা প্রয়োজন তবে সেগুলি প্রতিশ্রুতিবদ্ধ হওয়া উচিত নয়। কর্মপ্রবাহ আরও ভাল আর্কিটেকচারের মাধ্যমে উন্নত করা যেতে পারে তবে এটি আমার হাতের বাইরে। ইতিমধ্যে, এই ফাইলগুলিতে গিটের মনোযোগ দেওয়া একটি দায়। সুতরাং আমি এগুলি কেবল স্থানীয়ভাবেই গিটিগনোর করতে চাই এবং আমি আমার .gitignore প্রতিশ্রুতিবদ্ধ ঝুঁকি নিতে চাই না কারণ এটি দলের সাথে ভাগ করা উচিত নয়।
চিহ্নিত করুন

উত্তর:


959

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

সুতরাং, এটি আপনার সংগ্রহশালায় যুক্ত করুন, এটি গিটিংগর্ড করা উচিত নয়।

আপনি যদি সত্যিই চান .gitignoreতবে .gitignoreফাইলটি প্রতিশ্রুতিবদ্ধ না করতে চাইলে আপনি যুক্ত করতে পারেন। তবে সেক্ষেত্রে উপেক্ষা করার ক্ষেত্রে এটি সম্ভবত যুক্ত করা ভাল .git/info/exclude, একটি বিশেষ চেকআউট-স্থানীয় ফাইল যা কেবলমাত্র .gitignore এর মতো কাজ করে তবে .gitফোল্ডারে থাকা থেকে "গিট স্ট্যাটাস" তে প্রদর্শিত হয় না ।

এছাড়াও https://help.github.com/articles/ignoring-files দেখুন


17
এটি ট্র্যাক করা ফাইলের পরিবর্তে সংগ্রহস্থলের মেটাডেটার অংশ হওয়া উচিত নয়?
এন্ডোলিথ

13
সংগ্রহস্থলের মেটাডেটা সংগ্রহস্থলের স্থানীয়। আপনি যদি আপনার রেপোতে কমিট হুক যোগ করেন এবং কেউ আপনার রেপো ক্লোন করেন তবে উদাহরণস্বরূপ তারা কমিট হুক পাবেন না।
আগস্ট লিলিয়াস 13'10

91
@ উওকং, আপনি যদি একটি দল নিয়ে কাজ করছেন, তাহলে সবাই কি একই ফাইলের সেটটিকে উপেক্ষা করা উচিত নয়? এজন্য .gitignore ফাইলটি সংগ্রহস্থলটিতে যুক্ত হয়। কেউ বলে না যে আপনাকে এটি আপনার প্রকল্পের অংশ হিসাবে স্থাপন করতে হবে।
রায়ান লুন্ডি

13
@endolith এবং wukong এটি আপনার রেপোতে কোনও ফাইল হওয়ার দরকার নেই। আপনি বিভিন্ন উপায়ে আপনার উপেক্ষা সেটিংস থাকতে পারে। GitHub এর উপর একটি দুর্দান্ত নিবন্ধ আছে help.github.com/ignore-files আপনার যে কোনও জায়গায় বৈশ্বিক উপেক্ষা সেটিংস থাকতে পারে এবং রেপোর জন্য .git মেটাডেটাতে আপনার রেপো নির্দিষ্ট সেটিংস থাকতে পারে।
বোশলে

6
@ deed02392 এই উপেক্ষা করা ফাইলগুলি ব্যবহার করার সময় আপনার অবশ্যই সেগুলিতে কী ব্যবহার করা হয়েছে সে সম্পর্কে আপনাকে অবশ্যই রায় ব্যবহার করা উচিত, তবে তাদের এখনও কিছু দুর্দান্ত ব্যবহার রয়েছে। উদাহরণস্বরূপ আমি ভিম ব্যবহার করি এবং তাই আমার বিশ্বব্যাপী গিটিগনোরে আমার কাছে * .swp ফাইলগুলি উপেক্ষা হিসাবে চিহ্নিত করা হয়েছে। এইভাবে আমাকে আমার প্রতিটি প্রকল্পে এটি যুক্ত করতে হবে না এবং যে ছেলেরা কখনও ভিম ​​ব্যবহার করে না তাদের এটি নিয়ে চিন্তা করতে হবে না।
বোশলে

282

আপনি যদি আপনার গিট গাছের বাইরে উপেক্ষা করা ফাইলগুলির তালিকা সঞ্চয় করতে চান তবে আপনি .git / তথ্য / বাদ দেওয়া ফাইলটি ব্যবহার করতে পারেন । এটি কেবল রেপোর চেকআউটে প্রয়োগ করা হয়।


19
+1, প্রকল্প সম্পর্কিত নয়, যেমন ইমাসস * ~ ব্যাকআপ ফাইল, ওএস এক্স থেকে ডিডিএসএসটোয়ার এবং এমন কি উপেক্ষা করার জন্য এটি দুর্দান্ত।
আগস্ট লিলিয়াস

38
@ অগাস্টলিলিয়াস আমি ব্যক্তিগতভাবে এই ধরণের {সম্পাদক, প্ল্যাটফর্ম}-বিশেষ ফাইলগুলি রাখতে পছন্দ করি ~/.gitignoreযাতে তারা যে কোনও কাজকর্মের জন্য অগ্রাহ্য হয়।
মাইকেল মায়ার

22
কোনও ফাইল ট্র্যাক হয়ে গেলে, আপনি git update-index --assume-unchanged <file>আপনার রেপো পরিবর্তন না করে ট্র্যাকিং পরিবর্তনগুলি বন্ধ করতে ব্যবহার করতে পারেন । এটি বৃহত্তর ভাগ করা প্রকল্পগুলিতে খুব দরকারী যেখানে আপনাকে স্থানীয় পরিবর্তনগুলি করা দরকার তবে অন্য কেউ আপনার স্টাফ রেপোতে প্রতিশ্রুতিবদ্ধ দেখতে চায় না। দেখুন blog.pagebakers.nl
ক্রিস Esplin

6
@ অগাস্টলিলিয়াস: প্রতি ব্যবহারকারীর গিটিংগোর সেই ব্যবহারের ক্ষেত্রে ভাল।
যান্ত্রিক শামুক

3
এই টিপ জন্য ধন্যবাদ, আমি Git-SVN ব্যবহার করছি তাই সার্ভারে SVN রেপো অন্যান্য ব্যবহারকারীদের করবে না ঠিক .gitignore চেক ইন চাই।
enorl76

74

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


7
আমার জন্য কাজ! সংস্করণ 1.5.6.5। আমি 1800 তথ্যের সাথেও একমত যে এটি একটি ভাল ধারণা নয়, তবে আমি মনে করি এটি নির্দিষ্ট প্রসঙ্গে যথাযথ হতে পারে (বলুন আপনি গিট-এসএনএন সংগ্রহস্থল ব্যবহার করেন এবং আপনি এসএনএন-তে গিট-ইশ ফাইলগুলি চান না)। বাদ দেওয়া ফাইলটি সম্ভবত আরও ভাল।
জে। পোলফার

4
@ এহসানুল - ফাইলটি অবশ্যই ট্র্যাক করা উচিত নয় (আপনার এটি যুক্ত করা বা চালিত হওয়া উচিত নয়)। আপনি এটি আনর্যাক করতে পারেন। কেবলমাত্র গিট-পলিট পরিবেশে এটি দুর্দান্ত ধারণা নয়, তবে আপনি যদি উদাহরণস্বরূপ সাবট্রিশন রিপোজিটরির জন্য স্মরণীয় ক্লায়েন্ট হিসাবে গিট ব্যবহার করেন (বাকী জ্ঞান ছাড়াই, <ম্যানিয়াকাল হাসি>) - এই জাতীয় কৌশলটি দুর্দান্ত।
টমাসজ গ্যান্ডার

2
@ ইশানশ্রীভাস্তভা আপনার সম্ভবত ফাইলটি ইতিমধ্যে ট্র্যাক করা আছে। দৌড়াতে চেষ্টা করুনgit rm --cached .gitignore
গিডিওন

51

আপনার কাছে এমন একটি গ্লোবাল ব্যবহারকারী গিট .gitignoreফাইলও থাকতে পারে যা আপনার সমস্ত रिपগুলিতে স্বয়ংক্রিয়ভাবে প্রযোজ্য । এটি আইডিই এবং সম্পাদক ফাইলগুলির জন্য দরকারী (যেমন swpএবং *~ভিমের জন্য ফাইল)। আপনার ওএস অনুসারে ডিরেক্টরি অবস্থান পরিবর্তন করুন।

  1. আপনার ~/.gitconfigফাইলে যুক্ত করুন:

    [core]
    excludesfile = /home/username/.gitignore
    
  2. ~/.gitignoreউপেক্ষা করার জন্য ফাইল নিদর্শন সহ একটি ফাইল তৈরি করুন ।

  3. আপনার ডট ফাইলগুলি অন্য রেপোতে সংরক্ষণ করুন যাতে আপনার একটি ব্যাকআপ থাকে (optionচ্ছিক)।

আপনি যে কোনও সময় অনুলিপি, দীক্ষা বা ক্লোন ক্লোন করার সময়, আপনার বিশ্বব্যাপী গিটিগনোর ফাইলটিও ব্যবহৃত হবে।


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

1
এটি উজ্জ্বলতার জন্য দুর্দান্তভাবে কাজ করে যা কোনও শাখায় ঠেলে দেওয়া উচিত নয়। অবশ্যই আপনার আসল ব্যবহারকারীর নাম দিয়ে 'ব্যবহারকারীর নাম' প্রতিস্থাপন করুন এবং আপনার যদি ইতিমধ্যে একটি থাকে তবে .গিটকনফিগটিতে একটি দ্বিতীয় [কোর] বিভাগ যুক্ত করবেন না - কেবলমাত্র আপনার বিদ্যমান [মূল] বিভাগের আওতায় ব্যতিক্রমী রেখাটি রাখুন।
এমেরি 3'15

47

যদি কেউ ইতিমধ্যে .gitignoreআপনার রেপোতে একটি যোগ করেছে , তবে আপনি এটিতে কিছু পরিবর্তন করতে চান এবং নিম্নলিখিত পরিবর্তনগুলি উপেক্ষা করতে চান:

git update-index --assume-unchanged .gitignore

উত্স


5
খারাপ ধারণা, একটি কারণ আছে .git/info/excludes
অ্যারোমাস্টার

6
আমি ধারণা করি এর একটি কারণও আছে --assume-unchanged। একজনের চেয়ে অপরটি ভাল কেন?
লিফ গ্রুইনওয়েল্ট

9
.git/info/excludesফাইলটি ইতিমধ্যে ট্র্যাক করা থাকলে বিটিডব্লিউ কাজ করে না।
লিফ গ্রুইনওল্ড

এটি আমাকে ইতিমধ্যে প্রতিশ্রুতিবদ্ধ একটি .gitignore নিয়ে সত্যই সহায়তা করেছে এবং যার জন্য আমি পরিবর্তনগুলি করতে চাই না। আমি উবুন্টু ১১.০৪ রিপোর থেকে 1.7.4.1 গিট চালাচ্ছি এবং সহায়তা পৃষ্ঠাগুলি এটি আপডেট-সূচীতে যুক্ত করে। "এই বিকল্পটি ট্র্যাক করা ফাইলগুলিতে নিরীক্ষিত পরিবর্তনগুলি উপেক্ষা করার জন্য মোটা ফাইল-স্তর ব্যবস্থা হিসাবেও ব্যবহার করা যেতে পারে (.gitignore যাচাই করা ফাইলগুলির জন্য কি করে) গিট ব্যর্থ হবে (করুণভাবে) যদি সূচকে এই ফাইলটি সংশোধন করা দরকার হয় উদাহরণস্বরূপ, যখন কোন প্রতিশ্রুতিতে মার্জ করা হয়; সুতরাং, যদি ধরে নেওয়া-অনুবিহীন ফাইলটি মূল প্রবাহে পরিবর্তিত হয়, আপনাকে পরিস্থিতি নিজেই পরিচালনা করতে হবে handle "
YonahW

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

37

আপনি .gitignoreফাইলটি যুক্ত করার পরে এবং এটি প্রতিশ্রুতিবদ্ধ হওয়ার পরে এটি আর "চিহ্নবিহীন ফাইলগুলি" তালিকায় প্রদর্শিত হবে না।

git add .gitignore
git commit -m "add .gitignore file"
git status

20

কেবলমাত্র অন্য কারও কাছে আমাদের একই রকম ব্যথা ঘটানো উচিত। আমরা ইতিমধ্যে প্রতিশ্রুতিবদ্ধ একটি ফাইল বাদ দিতে চেয়েছিলাম।

এই পোস্টটি আরও কার্যকর ছিল: .git / তথ্য / খুব দেরিতে বাদ দিয়ে কাজ করা

বিশেষত আপনার কোন ফাইল উপেক্ষা করার দরকার তা হ'ল গিট রিমুড কমান্ডটি ব্যবহার করুন গিট আরএম দেখুন ( http://www.kernel.org/pub/software/scm/git/docs/git-rm.html )

আপনি এটি পরীক্ষা করে দেখুন

git rm --dry-run *.log
(আপনি যদি বলেন যে সমস্ত লগ ফাইলগুলি বাদ দিতে চেয়েছিল)

আপনি যদি এটি চালাতেন তবে কি বাদ থাকবে তা আউটপুট দেয়।

তারপর

তুমি এটা চালিয়ে যাও

git rm *.log
(বা আপনি যে কোনও ফাইলের নাম / অভিব্যক্তি চান)

তারপরে *.logআপনার .gitignoreফাইলটিতে একটি লাইন যুক্ত করুন।


4
অবশ্যই, আপনি নিজের .gitignore এ প্রাসঙ্গিক নিদর্শনগুলি (অর্থাত্ * .লগ) যুক্ত করে এটি অনুসরণ করতে চাইতে পারেন, তাই git statusভবিষ্যতে যদি তারা প্রদর্শিত হয় তবে তারা আপনার বিশৃঙ্খলা সৃষ্টি করবে না।
প্যাট্রিক O'Leary

2
যদিও আমার সমস্যাটি ওপি'র মতো ছিল না: আমাকে। জিটিগনরে পরিবর্তন করার পরে আমার রেপো "পরিষ্কার" করার জন্য আরএম ব্যবহার করা প্রয়োজন বলে জানার জন্য ধন্যবাদ (ফাইলগুলি ইতিমধ্যে কমেন্ট করা হয়েছে।) নূব ত্রুটি , আমি জানি, তবে এটিই প্রথম স্থান যা আমি ব্যক্তিগতভাবে কাউকে উল্লেখ করতে দেখেছি।
মাইকে

সাহায্য করার জন্য ধন্যবাদ. হ্যাঁ এ কারণেই আমি এটি লিখেছিলাম, এখানে এসে এবং পরে এটিকে কাজ করার জন্য দীর্ঘ পথ অবলম্বন করে ভেবেছিলাম এটি লিখতে ভাল হবে। :)
অভিব্যক্ত

16

অবশ্যই .gitignore ফাইলটি স্ট্যাটাসটিতে প্রদর্শিত হচ্ছে, কারণ এটি তালাবিহীন, এবং গিট এটিকে খেতে একটি সুস্বাদু নতুন ফাইল হিসাবে দেখছে!

যেহেতু .গিটিগনোর একটি অপ্রত্যাশিত ফাইল, সুতরাং আপনি যখন এটি .Gitignore এ রাখেন তখন গিট দ্বারা উপেক্ষা করা কোনও প্রার্থী!

সুতরাং, উত্তরটি সহজ: কেবল লাইনটি যুক্ত করুন:

.gitignore # Ignore the hand that feeds!

আপনার .gitignore ফাইলটিতে!

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

রেফারেন্সের জন্য, কার্নেল.আরগে গিটিগনোর (5) ম্যানপেজ দেখুন।


15

ধারণাটি হ'ল আপনার প্রকল্পের জন্য সুনির্দিষ্ট ফাইলগুলিকে .gitignoreফাইলের মধ্যে স্থাপন এবং (যেমন ইতিমধ্যে উল্লিখিত) এটিকে সংগ্রহস্থলে যুক্ত করা। উদাহরণস্বরূপ .pycএবং .oফাইলগুলি, পরীক্ষাগুলি তৈরি করে এমন লগগুলি, কিছু ফিক্সচার ইত্যাদি

আপনার নিজস্ব সেটআপ তৈরি করা ফাইলগুলির জন্য যা প্রতিটি ব্যবহারকারীর জন্য প্রয়োজনীয়ভাবে উপস্থিত হবে না (যেমন .swpআপনি যদি ভিএম, লুকানো ইক্যপ্লাই ডিরেক্টরিগুলি ব্যবহার করেন এমন ফাইলগুলির মত) আপনার ব্যবহার করা উচিত .git/info/exclude(ইতিমধ্যে উল্লিখিত হিসাবে)।


14

সবার আগে, অন্য অনেকে যেমন ইতিমধ্যে বলেছিলেন, আপনার .gitignoreগিট দ্বারা ট্র্যাক করা উচিত (এবং তাই এড়ানো উচিত নয়)। কেন আমাকে ব্যাখ্যা করুন।

(টিএল; ডিআর: .gitignoreফাইলটি প্রতিশ্রুতিবদ্ধ এবং আপনার আইডিই বা অপারেটিং সিস্টেম দ্বারা নির্মিত ফাইলগুলিকে উপেক্ষা করতে একটি বিশ্বব্যাপী.gitignore ব্যবহার করুন )

গিট হ'ল, আপনি সম্ভবত ইতিমধ্যে জানেন যে একটি বিতরণযোগ্য সংস্করণ নিয়ন্ত্রণ সিস্টেম । এর অর্থ হ'ল এটি আপনাকে বিভিন্ন সংস্করণের (যদিও বিকাশটি বিভিন্ন শাখায় রূপান্তরিত করেছে) এবং এর মধ্যে একাধিক বিকাশকারীকে একই প্রকল্পে কাজ করার অনুমতি দেয় back

.gitignoreস্ন্যাপশটগুলির মধ্যে স্যুইচ করার সময় আপনার ট্র্যাকিংয়েরও সুবিধা রয়েছে যদিও এটি করার জন্য সর্বাধিক গুরুত্বপূর্ণ কারণটি হ'ল আপনি একই প্রকল্পে কাজ করা অন্যান্য বিকাশকারীদের সাথে ফাইলটি ভাগ করতে চাইবেন। গিটে ফাইলটি প্রতিশ্রুতিবদ্ধ করার মাধ্যমে, অন্যান্য অবদানকারীরা পুনরায় .gitignoreসংগ্রহস্থলটি ক্লোন করার সময় স্বয়ংক্রিয়ভাবে ফাইলটি পাবেন , সুতরাং দুর্ঘটনাক্রমে কোনও ফাইল প্রতিশ্রুতিবদ্ধ হওয়া উচিত নয় (যেমন লগ ফাইল, ক্যাশে ডিরেক্টরি, ডাটাবেস শংসাপত্রসমূহ) ইত্যাদি)) এবং যদি কোনও পর্যায়ে প্রকল্পটির .gitignoreআপডেট হয় তবে ফাইলটি ম্যানুয়ালি সম্পাদনা করার পরিবর্তে তারা সহজেই সেই পরিবর্তনগুলি টানতে পারে।

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

  • আপনার অপারেটিং সিস্টেম বা আইডিই দ্বারা নির্মিত ফাইল এবং ফোল্ডারগুলিকে বিশ্বব্যাপী.gitignore স্থাপন করা উচিত । সুবিধাটি হ'ল .gitignoreএটি আপনার কম্পিউটারের সমস্ত সংগ্রহস্থলের ক্ষেত্রে প্রয়োগ করা হয়, সুতরাং আপনাকে প্রতিটি সংগ্রহস্থলের জন্য এটি পুনরাবৃত্তি করতে হবে না। এবং এটি অন্যান্য বিকাশকারীদের সাথে ভাগ করা হয়নি, কারণ তারা সম্ভবত অন্য কোনও অপারেটিং সিস্টেম এবং / অথবা আইডিই ব্যবহার করছে।
  • ফাইল কোনো প্রকল্পের মধ্যে অন্তর্গত না .gitignore, কিংবা বিশ্বব্যাপী মধ্যে .gitignoreব্যবহার উপেক্ষা করা যাবে স্পষ্ট সংগ্রহস্থলের বাদyour_project_directory/.git/info/exclude । এই ফাইলটি অন্য বিকাশকারীদের সাথে ভাগ করা হবে না এবং এটি একক সংগ্রহস্থলের জন্য নির্দিষ্ট

গ্লোবাল জন্য দুর্দান্ত উল্লেখ.gitignore
গ্রুবার

আমি মনে করি প্রাথমিক সেটআপের পরে .gitignore ফাইলটি উপেক্ষা করা উচিত, তাই কোনও দুর্ঘটনাজনিত পরিবর্তন নেই। এর অর্থ এই নয় যে এটি আর পরিবর্তন করা যাবে না, তবে এটি একরকমভাবে দুর্ঘটনা থেকে সুরক্ষিত। এই ফাইলটির দুর্ঘটনাগুলি বিভ্রান্তির পরিচয় দিতে পারে বা কিছু কাজকেও বিপন্ন করতে পারে, সুতরাং "সিলিং" (নিজেকে উপেক্ষা করে) এটিকেও বিবেচনা করা উচিত।
সাসা

@ সাসা .gitignoreকেবল সেই ফাইলগুলিকে উপেক্ষা করার জন্য কাজ করে যা এখনও গিট দ্বারা ট্র্যাক করা যায় না। ইতিমধ্যে একটি ট্র্যাক করা ফাইল যুক্ত করা .gitignoreআপনাকে সেই ফাইলটিতে পরিবর্তন করতে বাধা দেবে না। এমনকি যদি এটি সম্ভবও ছিল, .gitignoreগিট যখন নিজেকে উপেক্ষা করার নির্দেশ দেয় তখন আপনি কীভাবে পরিবর্তিত প্রতিশ্রুতি করবেন ?
নিক ওয়ার্টেল

@ সুন্দর - আমি এই থ্রেডের নীচে @ পৃথক উত্তরে আমার দৃষ্টিভঙ্গির বিস্তারিত ব্যাখ্যাটি পাস করেছি।
সাসা

12

নিম্নলিখিত "সমস্যা" জন্য সন্ধান করুন কখনও কখনও আপনি ডিরেক্টরি যুক্ত করতে চান তবে সেই ডিরেক্টরিগুলির মধ্যে কোনও ফাইল নেই। সহজ সমাধানটি হ'ল নিম্নলিখিত বিষয়বস্তু দিয়ে একটি .gitignore তৈরি করা:

*

ডিরেক্টরিটি যোগ করা হয়নি (যতক্ষণ না আপনার সংগ্রহস্থলে প্রত্যাশিত। এটির কারণটি .gitignore এছাড়াও উপেক্ষা করা হবে এবং এরপরে ডিরেক্টরিটি ফাঁকা রয়েছে until সুতরাং, আপনাকে এই জাতীয় কিছু করা উচিত :

*
!.gitignore

9

Gitসংগ্রহস্থল থেকে সমস্ত ফাইল উপেক্ষা করার জন্য এটি কেবল আপনার বর্তমান ডিরেক্টরিতে কাজ করবে বলে মনে হয় ।

এই ফাইল আপডেট করুন

.git/info/exclude 

আপনার ওয়াইল্ড কার্ড বা ফাইলের নাম সহ

*pyc
*swp
*~

5

আপনি যদি ইতিমধ্যে .gitignore চেক ইন করে থাকেন এবং আপনি এতে পরিবর্তনগুলি উপেক্ষা করতে চান, এই উত্তরটি দেখুন :

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

git update-index --assume-unchanged FILENAME_TO_IGNORE

এটির বিপরীতে আসতে (যদি আপনি কখনও এর মধ্যে পরিবর্তন করতে চান), ব্যবহার করুন:

git update-index --no-assume-unchanged

আপডেট :

বর্তমান ডিরেক্টরি অধীন 'অপরিবর্তিত ধরে নেওয়া' ফাইলগুলি তালিকাভুক্ত করার পদ্ধতি এখানে রয়েছে :

git ls-files -v | grep -E "^[a-z]"

হিসাবে -vবিকল্পের জন্য ছোট হাতের অক্ষর ব্যবহার করা হবে ফাইল 'অপরিবর্তিত অনুমান।


4

আমার ক্ষেত্রে, আমি একটি বিদ্যমান ফাইল বাদ দিতে চাই। শুধুমাত্র .gitignore পরিবর্তন করে কাজ করছে না। আমি এই পদক্ষেপগুলি অনুসরণ করেছি:

git rm --cached dirToFile/file.php
vim .gitignore
git commit -a

এইভাবে, আমি যে ফাইলটি বাদ দিতে চাইছিলাম তা ক্যাশে থেকে পরিষ্কার করে দিয়েছি এবং এটিটি .gitignore এ যুক্ত করার পরে


আমার জন্য সেরা সমাধান। আপনি গিট অ্যাডও ব্যবহার করতে পারেন। দ্বিতীয় স্থানে, তার পরে গিট কমিট - এম "ফিক্সিং .gitignore"
ব্রেইনরে

3

আপনার গিট রেপোর বেস ডিরেক্টরিতে নেভিগেট করুন এবং নিম্নলিখিত কমান্ডটি প্রয়োগ করুন:

echo '\\.*' >> .gitignore

সমস্ত বিস্মৃত ফাইলগুলি উপেক্ষা করা হবে, p সমস্যাযুক্ত .ডিএসএসএস সহ আপনি যদি কোনও ম্যাকের উপরে থাকেন তবে।


4
আমি এটা করব না। আপনার প্রয়োজন মতো ডট ফাইল থাকতে পারে। পরিবর্তে, আমি কেবল। Gitignore এবং। ডিএসএসটিড়োর অক্ষরে যুক্ত করব।
এডওয়ার্ড ফ্যাল্ক

2

এটি বেশ সম্ভব যে কোনও শেষ ব্যবহারকারী গিটকে ".gitignore" ফাইলটি উপেক্ষা করতে চান কেবল কারণেই Eclipse দ্বারা নির্মিত IDE নির্দিষ্ট ফোল্ডারগুলি সম্ভবত নেটবিয়ান বা অন্য কোনও IDE এর মতো নয়। সুতরাং উত্স কোড আইডিই বৈপরীত্য রাখার জন্য ব্যক্তিগত দলের বিকাশকারীরা বিভিন্ন আইডিই ব্যবহার করতে পারে বলে পুরো দলের সাথে ভাগ না করা এমন একটি কাস্টম গিট উপেক্ষা করা জীবনকে সহজ করে তোলে।


1

.gitignoreঅন্যান্য ফাইল উপেক্ষা সম্পর্কে । গিট ফাইলগুলি সম্পর্কে তাই এটি ফাইলগুলি উপেক্ষা করার বিষয়ে। তবে গিট ফাইলগুলির কাজ শেষ হওয়ার সাথে সাথে অন্যান্য ফাইলের নাম তালিকাভুক্ত করার প্রক্রিয়া হিসাবে এই ফাইলটি থাকা দরকার।

যদি এটি বলা হত তবে এটি .the_list_of_ignored_filesকিছুটা প্রকট হতে পারে be

একটি উপমা হল করণীয় আইটেমগুলির একটি তালিকা যা আপনি করতে চান না। আপনি তাদের কোথাও তালিকাভুক্ত না করলে কোনও ধরণের 'করণীয়' তালিকার তালিকা না থাকলে আপনি তাদের সম্পর্কে জানতে পারবেন না।


1

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

তবে, এমন একটি শক্তি রয়েছে যা .gitignoreফাইলগুলিতে অপ্রচলিত পরিবর্তনগুলি প্রবর্তন করার জন্য ঝোঁক করে । .gitignoreফাইল আরও দায়িত্বহীন ব্যক্তির দ্বারা, ভুল করে, একটি টুল ব্যবহার, অথবা অন্য ক্ষেত্রে দ্বারা পরিবর্তন করা যাবে।

এর পাল্টা শক্তি পেতে, আমরা নিম্নলিখিত হিসাবে করতে পারি:

  1. প্রাথমিক .gitignore টিম (গুলি) এ কনভেনশন প্রতিবিম্বিত করা উচিত,
  2. এটি ধাক্কা দেওয়ার পরে .gitignore এ .gitignore এন্ট্রি যুক্ত করে সুরক্ষিত করা উচিত এবং সেই পরিবর্তনটি আবার চাপুন The .gitignoreফাইলটি এইভাবে " সিল করা হয়েছে "।

" সিল করা " .gitignoreফাইলটি স্থানীয়ভাবে অন্য কোনও সদস্যের (টি) সদস্যদের কাছে এই পরিবর্তনকারীদের প্রচার না করেই, স্থানীয়ভাবে পরিবর্তিত হতে পারে। তবে, যদি কোনও পরিবর্তন এটি পুরোপুরি (টি) না করে "আনসিল" করা সম্ভব হয়, পরিবর্তিত করে এবং এটি আবার "সিল" না করেই সর্বত্র সম্মত হয়। এটি ভুল করে করা যায় না, কেবল ইচ্ছাকৃতভাবে।

দুঃখের বিষয়, আপনি বোকামি থেকে 100% সুরক্ষিত হতে পারবেন না, তবে এইভাবে বোকা জিনিসগুলি প্রতিরোধ করার জন্য আপনি যতটা করতে পারেন তার সমস্ত কিছুই করেছেন।

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

.git/info/excludeযখন আপনি অবকাঠামোগত সেটিংস সম্পর্কে কিছু করতে না পারেন তখন ব্যবহার করা দুর্দান্ত, কেবল নিজের একটি ** coveringাকনা যাতে ভুল না হয়।

কোনটি সঠিক এবং কোনটি ভুল তার স্থায়ী দৃষ্টিকোণ থেকে আমি .gitignoreফাইলের ভিতরে .gitignore এন্ট্রি করার পক্ষে ভোট দিচ্ছি , প্রত্যেককে স্থানীয়ভাবে যা কিছু করার স্বাধীনতা দিচ্ছি , কিন্তু অন্যকে আক্রমণ না করেই।


0

আমি দেখতে পেয়েছি যে পেস্কি .DS_Storeফাইলগুলিকে উপেক্ষা করার জন্য সেরা জায়গাটি .git/info/excludeফাইলে রয়েছে।

আপনি যখন এতে গিট সংগ্রহস্থল স্থাপন করেন তখন ইন্টেলিজি স্বয়ংক্রিয়ভাবে এটি করতে পারে বলে মনে হয়।


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