.gitignore ফাইল, আমার এক্সকোড প্রকল্পে এটি কোথায় রাখা উচিত?


102

আমি UserInterfaceState.xcuserstateআমার এক্সকোড 4 প্রকল্পে আমার ফাইলটিকে উপেক্ষা করার জন্য গিট চাই , তবে ফাইলটি আমার কোথায় রাখা উচিত .gitignore?, এটি .gitফোল্ডারের ভিতরে রয়েছে ? বা বাইরে? .gitসঙ্গে একই ফোল্ডারে ProjectName.xcodeprojফাইল


উত্তর:


124

.gitignoreআপনার প্রকল্পের প্রতিটি ডিরেক্টরিতে একটি থাকতে পারে ।

তবে, সর্বোত্তম অনুশীলন হ'ল .gitignoreপ্রকল্পের রুট ডিরেক্টরিতে একটি একক ফাইল থাকা এবং আপনি যে ফাইলগুলিকে উপেক্ষা করতে চান সেগুলি এইভাবে রাখুন:

ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn

একবার আপনি .gitignoreফাইলটি তৈরি করেন , যে ফাইলগুলিকে পরিবর্তন করা হয়েছে বা সংরক্ষণাগারে নতুন রয়েছে তা উপেক্ষা করুন প্রতিশ্রুতি হিসাবে অপেক্ষা করা হবে না।

আপনার কাছে একটি গ্লোবাল স্থানীয় গিট উপেক্ষা ফাইল থাকতে পারে যা আপনার সমস্ত গিট সংগ্রহস্থল পরিচালনা করবে।

git config --global core.excludesfile ~/.gitignore_global

এই বিকল্পটি প্রকল্প-নন সম্পর্কিত, যেমন আইডিই সম্পর্কিত ফাইল ইত্যাদির জন্য উপেক্ষা করা ফাইলগুলির জন্য বিশেষভাবে আকর্ষণীয়।


1
এই .gitignore মূলতে বা আপনার মাস্টার / স্থানীয়-রেপো অনুলিপি যুক্ত করা উচিত?
আদিল

1
স্থানীয়ভাবে (অবশ্যই আপনি এটি কোনও সময়ে উত্স দিকে ঠেলাতে যাচ্ছেন)।
ড্যানিয়েল রিবেইরো

21

গিটে ফাইলগুলি উপেক্ষা করার উপায় রয়েছে:

  1. গ্লোবাল গিট উপেক্ষা করুন: - এই পদ্ধতিতে আপনার কাস্টম বিধিগুলি আপনার মেশিনের প্রতিটি গিট ডিরেক্টরিতে প্রয়োগ করা হবে। সাধারণত এই ফাইলটি ~/.gitignore_globalপথে নির্মিত হতে পারে । এই পদ্ধতিটি ভাল যদি আপনি কিছু ধরণের ফাইল বাদ দিতে চান যা ওএস বা অন্য কোনও লগিং, নগদকরণ এবং ইত্যাদি সরঞ্জাম দ্বারা উত্পাদিত হয়।
  2. প্রতি-সংগ্রহস্থল গিট উপেক্ষা করুন: - এই পদ্ধতিতে আপনার কাস্টম বিধিগুলি আপনার মেশিনের নির্দিষ্ট গিট ডিরেক্টরিতে প্রয়োগ করা হবে। স্থানীয় প্রতি-সংগ্রহের নিয়মগুলি .git/info/excludeআপনার সংগ্রহস্থলের ফাইলটিতে যুক্ত করা যেতে পারে । এই ফাইলের অধীনে নির্দিষ্ট বিধিগুলি প্রতিশ্রুতিবদ্ধ হবে না, যার অর্থ এটি অন্যদের সাথে ভাগ করা হবে না। সাধারণত স্থানীয়ভাবে উত্পন্ন ফাইল প্রতিশ্রুতি রোধ করতে এই পদ্ধতির কার্যকর। উদাহরণস্বরূপ, আপনার সম্পাদক দ্বারা নির্মিত ফাইলগুলির জন্য।
  3. প্রতি পাথ গিট উপেক্ষা করুন: - এক্ষেত্রে আপনার কাস্টম বিধিগুলি নির্দিষ্ট গিট সংগ্রহস্থলের সাব পাথের জন্য প্রয়োগ করা হবে। আপনি .gitignoreআপনার নির্দিষ্ট সংগ্রহস্থলের যে কোনও সাব পাথ তৈরি করতে পারেন । এই পদ্ধতির সাধারণত নির্দিষ্ট সংগ্রহস্থলের নির্দিষ্ট ফোল্ডারের অধীনে কিছু ধরণের ফাইল উপেক্ষা করতে ব্যবহৃত হয়। এই ফাইলগুলি অন্য পাথ এবং অন্যান্য সংগ্রহস্থলগুলির দ্বারা সংস্করণ নিয়ন্ত্রণের সাথে যুক্ত করা যেতে পারে।

সুতরাং, আমার পরামর্শটি হ'ল, আপনি যদি UserInterfaceState.xcuserstateআপনার সমস্ত ভান্ডারে আপনার নির্দিষ্ট ফাইল ( ) উপেক্ষা করতে চান তবে গ্লোবাল গিট উপেক্ষা করার পদ্ধতির ব্যবহার করা সবচেয়ে ভাল উপায় approach তবে যদি আপনার ফাইলটি কেবলমাত্র নির্দিষ্ট সংগ্রহস্থলে তৈরি করা হয় তবে আপনি প্রতি-সংগ্রহস্থল গিটটি উপেক্ষা করার পদ্ধতি ব্যবহার করতে পারেন।

আরও তথ্যের জন্য আপনি এই দুর্দান্ত ব্লগ পোস্টটি পড়তে পারেন । এবং ভাষা প্রতি নির্দিষ্ট গিট উপেক্ষা নিয়ম এখানে প্রতিষ্ঠিত করা যেতে পারে । এবং আপনি এই ওয়েব সাইটটি ব্যবহার করে নির্দিষ্ট ভাষা, সরঞ্জাম বা ওএসের নিয়মাবলী উপেক্ষা করে সাধারণ গিট তৈরি করতে পারবেন ।


20

আপনার প্রকল্পের মূল ডিরেক্টরিতে .gitignore ফাইলটি রাখা উচিত।


12

আমি .gitignoreফাইলটি কোথায় রাখব ?, এটি .git ফোল্ডারের ভিতরে রয়েছে?

কোনও ফোল্ডারের .gitignoreভিতরে নেই .git
তবে এটি একটি .git/info/excludeফাইল যা আপনাকে স্থানীয়ভাবে কোনও ফাইল বাদ দিতে দেয়, সাধারণত যখন আপনি কেবল এই নির্দিষ্ট রেপোর জন্য কোনও ফাইলকে বাদ দিতে চান ( যেমন এর মতো একটি উপাধি রয়েছে ):

git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate

আপনার যদি অনুরূপ সমস্ত প্রকল্পের জন্য এই ফাইলটি বাদ দিতে হয় , যেমন এলনুর আব্দুররাখিমভ তার উত্তরে উল্লেখ করেছেন , বিশ্বব্যাপী এটি বাদ দিন।

echo UserInterfaceState.xcuserstate >> ~/.gitignore

তবে, "আমাদের কি * .xcuserstate? " পরীক্ষা করে দেখার দরকার আছে , যদি এটি কোনও ধরণের ফাইল হয় যা সেই রেপোর কোনও ব্যবহারকারীর দ্বারা উপেক্ষা করা উচিত, আমি আসলে রেপোর শীর্ষে একটি .gitignore সংস্করণ করব, এর মতো সামগ্রী সহ:

*.xcuserstate 

এইভাবে, সেই রেপোর যে কোনও ব্যবহারকারী বুঝতে পারবেন না যে এই ফাইলটি বিদ্যমান এবং উত্পন্ন হয়েছে (এর নাম যাই হোক না কেন): এটি কখনও প্রদর্শিত হবে না git status

অথবা আপনি সম্পূর্ণ উপেক্ষাxcuserdata/ করতে পারেন (হয় বিশ্বব্যাপী .gitignore, বা কোনও সংস্করণযুক্ত জেনেরিক গিটহাবObjective-C.gitignore ফাইলের মতো।


আপনি জিআইটির কিংবদন্তি! সর্বদা আপনার উত্তরগুলি সবচেয়ে দরকারী।
জাদ চাহাইন

@ জ্যাডচাহাইন আপনাকে ধন্যবাদ সাহায্য করতে পেরে খুশি (কমপক্ষে, সেই উত্তরগুলি লেখার ফলে আমার গিট শিখতে সহায়তা হয়)
ভোনসি

@tymac একেবারেই নয়;) আমি কেবল নিয়মিত যাই ( meta.stackexchange.com/questions/122976/… )
ভোনসি

9

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

পরিবর্তে, .gitignoreআপনার নিজস্ব ডিরেক্টরিতে আপনার ব্যক্তিগত ডিরেক্টরি তৈরি করুন এবং এটি সক্রিয় করুন:

git config --global core.excludesfile ~/.gitignore

এখন আপনি আপনার বিকাশের সরঞ্জামগুলির মাধ্যমে যা কিছু ফাইল উত্পন্ন হয় তা আপনার .gitignoreফাইলে রাখতে পারেন।


6

সাধারণত, .gitignoreপ্রকল্পের মূল ডিরেক্টরিতে ফাইল অন্তর্ভুক্ত করার সর্বোত্তম অনুশীলন

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