.Gitignore ফাইল সত্ত্বেও জোড় যোগ করুন


413

gitফাইল সত্ত্বেও কোনও ফাইল যুক্ত করার জন্য কি কোনও উপায় আছে .gitignore?


4
আরও ভাল প্রশ্ন হতে পারে - আপনি এটি করতে চান কেন? আপনি যদি কোনও ফাইল ট্র্যাক করতে চান তবে এটি আনজিওনার করুন ( যেমন .gitignoreফাইলের সাথে এর প্যাটার্নটির উপসর্গ দিন )। !!dont/ignore/this/file
ওহাদ স্নাইডার

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

5
@ ওহাদস্কিনিডার, এটি আমাদের পক্ষে আরও বেশি কারণ বেশিরভাগ বিকাশকারীরা ভিজ্যুয়াল স্টুডিও 2015 এর সাথে গিট ইনস্টল করে, যা ব্যবহারকারী ফোল্ডারে বিশ্বব্যাপী গিটিগনোর যুক্ত করে। এটি * .dll এবং * .exe এর মতো ফাইলগুলি বাদ দেয়। এটি আমাদের নতুন প্রকল্পগুলির জন্য দুর্দান্ত যা কেবল বিল্ড চলাকালীন পুনরুদ্ধারকৃত ন্যুগেট প্যাকেজগুলি ব্যবহার করে তবে কয়েকটি সংখ্যক পুরানো প্রকল্পের জন্য আমরা এখনও সমাধানের ক্ষেত্রে ম্যানুয়ালি উল্লেখ করা ডিএল এর ব্যবহার করি। এই প্রকল্পগুলির জন্য, আমরা প্রতিটি বিকাশকারীকে বিশ্বব্যাপী গিটিগনোরের * .dll এবং * .exe ফাইলগুলিতে মন্তব্য করার পরিবর্তে ম্যানুয়ালি এগুলি যুক্ত করতে চাই।
নুলিয়াস

4
@ নুলিয়াস আপনি কি কেবলমাত্র তাদের উচ্চতর স্তরে একত্রিত করতে পারবেন না .gitignore(বলুন, ডেল .gitignoreহিসাবে একই ফোল্ডারে একটি যোগ করুন , বা উপরের একটি, বা কিছু)?
ওহাদ স্নাইডার

উত্তর:


569

দেখুন man git-add:

   -f, --force
       Allow adding otherwise ignored files.

সুতরাং এটি চালান

git add --force my/ignore/file.foo

11
UHM যে কাজ করে না, Git অবস্থা ফাইল এখনও দেখানো হয়
মার্ক

5
ঠিক আছে, এটি সত্যই কার্যকর হয় তা নিশ্চিত করার জন্য আমি এটি পরীক্ষা করেছি এবং এটি কাজ করে। আপনি কি আপনার পরিবেশ (OS, গিট সংস্করণ ...) বর্ণনা করতে পারবেন? আমি মূলত এটিই করেছি: echo "/foo" >> .gitignore; echo "bar" > foo; git add foo # should throw an error; git add -p foo # works(মন্তব্যগুলিতে নিউলাইনগুলি পেস্ট করতে পারে না, কমান্ডগুলি 1 এর মাধ্যমে কার্যকর করা যায় না
ড্যানিয়েল বোহ্মার

4
আমার ক্ষেত্রেও একই ঘটনা ঘটেছিল, আমি আগে আমার ফাইলগুলিতে গিট আপডেট-ইনডেক্স - অপরিবর্তিত - চালিত করেছিলাম। আমাকে এটিকে পূর্বাবস্থায় ফিরতে হয়েছিল - অনুমান-অপরিবর্তিত এবং এটি কাজ করেছিল
Jako

4
এটি কেবল উইন্ডোকার্ড ব্যবহার করে, উইন্ডোজে 1.9.5 গিট ব্যবহার করে, এমনকি - না - অনুমান-অপরিবর্তিত চেষ্টা করার পরেও আমার পক্ষে কাজ করে। "গিট অ্যাড - চ <ফাইল ফাইল>" কিছুই করে না, তবে "গিট অ্যাড-ফ *" কাজ করে। কচ্ছপ গিট ব্যবহার করেও কাজ করে।
mhenry1384

@ mhenry1384 যে কারণে এটি কেবল উইন্ডোজে ওয়াইল্ডকার্ডের জন্য কাজ করে তা পাথ বিভাজকটি কীভাবে ব্যবহৃত হয় তার কারণ হতে পারে। আমার জন্য স্ল্যাশ "/" কাজ করে তবে ব্যাকস্ল্যাশ "\" হয় না। আমাদের জন্য সিএমডি / পাওয়ারশেল "/" কে "\" তে রূপান্তরিত করে এটিকে এটিকে চালানো সহজ করে তোলে।
ওহ

19

ড্যানিয়েল বুহারের কার্যক্ষম সমাধান সত্ত্বেও ওহাদ স্নাইডার একটি মন্তব্যে আরও ভাল সমাধানের প্রস্তাব দিয়েছিলেন:

যদি ফাইলটি সাধারণত উপেক্ষা করা হয় এবং আপনি এটি যুক্ত করার জন্য জোর করে - ভবিষ্যতে এটি ঘটনাক্রমে আবারও উপেক্ষা করা যেতে পারে (যেমন ফাইলটি মুছে ফেলা হয়, তখন একটি প্রতিশ্রুতিবদ্ধ হয় এবং ফাইলটি পুনরায় তৈরি হয়।

আপনার এটির মতো .gitignore ফাইল এ কেবল উপেক্ষা করা উচিত: গিটে উপেক্ষা করা ডিরেক্টরিগুলির সাব-ডাইরেক্টরিগুলিকে স্বাক্ষর করুন


4
এটা সঠিক। আমি ছোট ডেটা ফাইলগুলির জন্য - ফোর্স বিকল্পটি ব্যবহার করছিলাম এবং তারপরে কিছুটা ফোল্ডার কাঠামো পুনরায় সাজিয়েছি এবং সমস্ত ফোর্স-ট্র্যাক করা ফাইল ক্লাববার্ড করেছি। তা যে: এ .gitignoreব্যবহার !specific-file-name.txtছাড়াই ফোল্ডার অনুক্রমের, এই ভাবে ট্র্যাকিং রেপো প্রায় ফাইল অনুসরণ করা হবে।
মার্লিন

এটা তোলে দৃশ্যকল্প উপর নির্ভর করে, যেমন একদা আপনি "1.txt" সব ফোল্ডারে অগ্রাহ্য করতে চান, এবং একদা "FOLDER1 / * পাঠ্য।"
আঃ

14
এটি কোনও "আরও ভাল" সমাধান নয়। এটি একটি ভিন্ন সমস্যার সমাধান।
এআইজি

2

এটি অর্জনের আর একটি উপায় হ'ল গিটিগনোর ফাইলটি অস্থায়ীভাবে সম্পাদনা করা, ফাইল যুক্ত করা এবং তারপরে গিটিগনোর ফিরে আসা। কিছুটা হ্যাকি অনুভব করছি


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