ভান্ডারগুলিতে থাকা ফাইলগুলি কীভাবে উপেক্ষা করবেন?


96

আমার কাছে একটি ফাইল রয়েছে (কনফিগারেশন। পিপিপি) যা ইতিমধ্যে গিট সংগ্রহস্থলের কাছে চালিত হয়েছিল, তবে আমি স্থানীয়ভাবে উপেক্ষা করতে চাই, অর্থাৎ আমি চাইছি সেই ফাইলটি সংগ্রহস্থলে থাকবে, তবে গিটকে এর কোনও পরিবর্তন উপেক্ষা করতে বাধ্য করতে হবে।

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


দয়া করে আপনার .gitignore-file যুক্ত করুন - সেভাবে আমরা এর সাথে কোনও সমস্যা দেখতে পাই।
লার্স

উত্তর:


192

ফাইলটি এখনও গিটিগনরে থাকা সত্ত্বেও যদি স্থিতিতে প্রদর্শিত হয় তবে নিশ্চিত হয়ে নিন যে এটি ইতিমধ্যে ট্র্যাক করা হয়নি।

git rm --cached config.php

আপনি যদি স্থানীয়ভাবে এটিকে উপেক্ষা করতে চান তবে আপনি এটিকে গিট স্ট্যাটাস দ্বারা উপেক্ষাও করতে পারেন:

git update-index --assume-unchanged config.php

4
ঠিক আছে ধন্যবাদ ! আমি যদি আমার শাখাটিকে অন্যটির সাথে একীভূত করি তবে এই ফাইলটি কিছু সমস্যা তৈরি করতে পারে?
prcaen

4
@ নিমবাস ১৪7: এটি কোনও সমস্যা হওয়া উচিত নয় এবং সেই ফাইলের কোনও পরিবর্তন এখনও উপেক্ষা করা হবে (অর্থাত্ সংযুক্ত / প্রতিশ্রুতিবদ্ধ নয়)।
ভনসি

যদি স্মার্টজিট ব্যবহার করে তবে এটি করার জন্য আপনার অপসারণ ব্যবহার করা উচিত।
ওমিড-আরএইচ

4
update-index --assume-unchangedদূরবর্তী শাখায় বল প্রয়োগ করার কোনও উপায় আছে কি ? আমি ফাইলটি রেপোতে রাখতে চাই, তবে অন্যরা পরিবর্তন করতে সক্ষম হবেন না তবে আরও মঞ্চে উপলভ্য নয়।
p014k

4
@ p014k যে আমি জানি না। এই ধরণের ফাইলের জন্য, আমি এটি অন্য নামের সাথে সংস্করণযুক্ত রাখি, তারপরে যখন প্রয়োজন হয় তখন স্বয়ংক্রিয়ভাবে সঠিক ফাইল (ব্যক্তিগত) উত্পন্ন করতে একটি সামগ্রী ফাইলার ড্রাইভার ব্যবহার করুন। এই ফিল্টার উদাহরণস্বরূপ মঞ্চে সক্রিয় থাকবে না। দেখুন stackoverflow.com/a/54454356/6309 এবং তার সংশ্লিষ্ট লিঙ্ক।
ভনসি

6

ফাইলটিতে চেক করা উপেক্ষা করুন:

git update-index --assume-unchanged file

প্রত্যাবর্তন

git update-index --no-assume-unchanged file

সমস্ত রিভার্ট করুন

git update-index --really-refresh 

সহায়ক। কাজ করা একটি ফাইল রিভার্ট করুন তবে সমস্ত রিভার্ট করুন, যদিও না।
অ্যাডেম টেপে

4

যদি ফাইলটি ইতিমধ্যে ভাণ্ডারগুলিতে থাকে এবং সুতরাং সূচক / মঞ্চের ক্ষেত্রটি থাকে, তবে .gitignore এ আপডেট করা সেই পরিস্থিতিতে পরিবর্তন করবে না - এটি প্রতিশ্রুতিবদ্ধ থাকবে keep

সূচি / স্টেজিং অঞ্চল ব্যবহার থেকে ফাইলটি সরাতে git rm <file>


ফাইলটি যদি সংগ্রহস্থলীতে থাকে তবে এখনও মঞ্চস্থ হয় না? আমি *। লগ ফাইলগুলি উপেক্ষা করার চেষ্টা করছি, তবে আমি এখনও তাদের "পরিবর্তনগুলি" এর অধীনে দেখতে পাচ্ছি। আমি সব উপেক্ষা করতে চাই, কি করব?
সান্দ্রা কে

@ সান্দ্রাক যদি শেষ প্রতিশ্রুতিতে রেপোতে ইতিমধ্যে সেই ফাইলটির (ফাইলপথ / নাম) কোনও পুরানো সংস্করণ থাকে, তবে এটি ট্র্যাক হিসাবে বিবেচিত হয় - 'সূচক' এর ফাইলটি তার রেকর্ডে statusথাকবে এবং তাই আপনাকে অবিরত বলতে থাকবে এই পরিবর্তনগুলি সম্পর্কে। আপনি যদি আগেই ট্যাকড করা এবং বর্তমানে তালিকৃত পাম্প উভয়ের জন্য *। লগ ফাইলগুলি উপেক্ষা করতে চান, তবে আপনার উভয়কেই git rm *.logআপনার .gitignore ফাইল আপডেট করতে হবে। কিছু লগ ফাইল আসলে গুরুত্বপূর্ণ কিনা তা আগে যাচাই করে দেখুন ... বিশেষ বিশেষটি ভুলে যাওয়া সহজ ;-)
ফিলিপ ওকলে

-3

.Gitignore এ একবার কোনও ফাইল তালিকাভুক্ত হয়ে গেলে আপনি এটিকে পরিবর্তন করতে পারবেন না।

সুতরাং আপনি তালিকা থেকে ফাইলটি একটি প্রতিশ্রুতিতে মুছে ফেলতে পারবেন, পরবর্তী পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করুন এবং তারপরে তৃতীয় প্রতিশ্রুতিতে ফাইলটিকে উপেক্ষা তালিকায় পুনরায় যুক্ত করুন।

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


4
" একবার কোন ফাইলটি .gitignore এ তালিকাভুক্ত হয়ে গেলে আপনি এটিকে পরিবর্তন করতে পারবেন না " - আপনি কী ব্যাখ্যা করতে পারেন, আপনার অর্থ কী? আমার অনেকগুলি ফাইলগুলিতে আমার প্রচুর ফাইল রয়েছে .gitignoreএবং আমি নিয়মিত এই ফাইলগুলি পরিবর্তন করছি! এই প্রথম, আমি কাউকে বলতে শুনছি যে একবার আমি ফাইল যুক্ত করলে .gitignoreআমি এটি পরিবর্তন করতে পারি না।
ট্র্যাজার

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