git - কিভাবে আমি স্থানীয়ভাবে কিছু ফাইল উপেক্ষা করতে গিট কনফিগার করতে পারি?




ignore gitignore (6)

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


@ জস লিউ উত্তর দিয়ে একটি সত্য স্বীকার করতে ভুলবেন না।

    git update-index --assume-unchanged directory/

শেষে ফরোয়ার্ড স্ল্যাশ (/) নোট করুন।


আপনার .gitconfig ফাইলের [উল্লিখিত] বিভাগে নিম্নলিখিত লাইনগুলি যোগ করুন

ignore = update-index --assume-unchanged
unignore = update-index --no-assume-unchanged
ignored = !git ls-files -v | grep "^[[:lower:]]"

এখন আপনি স্থানীয় ফাইলগুলিতে পরিবর্তনগুলি উপেক্ষা git ignore my_file ব্যবহার করতে পারেন এবং পরিবর্তনগুলি উপেক্ষা করা বন্ধ করতে git unignore my_file ব্যবহার করতে পারেন। git ignored করা ফাইল তালিকা উপেক্ষা।

এই উত্তরটি http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html থেকে http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html


আপনি এই প্রক্রিয়াটি সহজ করতে কিছু গিট উপাদানের ইনস্টল করতে পারেন। এটি আপনার। .gitconfig ফাইলের [alias] নোড সম্পাদনা করে।

git config --global alias.ignore 'update-index --skip-worktree'
git config --global alias.unignore 'update-index --no-skip-worktree'
git config --global alias.ignored '!git ls-files -v | grep "^S"'

নিম্নরূপ এই আপনার ইনস্টল করা শর্টকাট:

  • git ignore config.xml
    • git এটি জাহির করবে যে এটি config.xml কোনও পরিবর্তন দেখতে config.xml - এটি আপনাকে দুর্ঘটনাক্রমে সেই পরিবর্তনগুলি প্রতিরোধ করতে বাধা দেয়।
  • git unignore config.xml
    • git config.xml আপনার পরিবর্তনগুলি স্বীকার করে পুনরায় শুরু করবে - আপনাকে আবার সেই পরিবর্তনগুলি করার অনুমতি দেবে।
  • git ignored
    • git সমস্ত বর্ণিত তালিকা যা আপনি উপরে বর্ণিত পদ্ধতিতে "উপেক্ষা" করছেন।

আমি ফ্যাটম্যানের উত্তর উল্লেখ করে এইগুলি তৈরি করেছি - যা একইরকম - অ্যাসিউমাম --assume-unchanged সংস্করণ উপস্থাপন করে।

আমি উপস্থাপন সংস্করণ স্থানীয় পরিবর্তন উপেক্ষা করার জন্য --skip-worktree ব্যবহার করে। পার্থক্য সম্পূর্ণ ব্যাখ্যা করার জন্য বরিলাডের উত্তরটি দেখুন, কিন্তু মূলত --skip-worktree এর উদ্দেশ্যগুলি ডেভেলপারদের তাদের পরিবর্তনগুলি করার ঝুঁকি ছাড়াই ফাইলগুলি পরিবর্তন করার জন্য

git ls-files -v ব্যবহার করে এখানে দেওয়া কমান্ডটি git ignored git ls-files -v , এবং S ট্যাগের সাথে শুরু হওয়া কেবলমাত্র সেই এন্ট্রিগুলি দেখানোর জন্য তালিকাটি ফিল্টার করে। S ট্যাগ এমন একটি ফাইলকে নির্দেশ করে যার স্থিতি "ওয়ার্কট্রি এড়িয়ে যান"। git ls-files দ্বারা প্রদর্শিত ফাইল স্ট্যাটাসগুলির সম্পূর্ণ তালিকা জন্য: git ls-files -t বিকল্পের জন্য ডকুমেন্টেশনটি দেখুন।


আপনি কেবল আপনার হোম ডিরেক্টরিতে একটি .gitignore ফাইল যোগ করতে পারেন, অর্থাত $HOME/.gitignore বা ~/.gitignore । তারপর কমান্ড দিয়ে যে ফাইলটি ব্যবহার করতে গিট বলুন:

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

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

আমি মহান ফলাফল সঙ্গে বছর ধরে এই পদ্ধতির ব্যবহার করা হয়েছে।


যদি আপনার রেপোতে ইতিমধ্যে একটি। জিটিগনোর ফাইল থাকে না, তবে একটি সহজ সমাধান একটি .gitignore ফাইল তৈরি করা, এবং এটিতে .gitignore করা ফাইলগুলির তালিকাতে .gitignore যুক্ত করুন।


প্রাসঙ্গিক গিট ডকুমেন্টেশন থেকে :

প্যাটার্নস যা কোনও বিশেষ সংগ্রহস্থলের জন্য নির্দিষ্ট কিন্তু $GIT_DIR/info/exclude সাথে সংশ্লিষ্ট অন্যান্য সংগ্রহস্থলগুলির সাথে ভাগ করার প্রয়োজন নেই (উদাহরণস্বরূপ, রিপোজিটরির অভ্যন্তরে থাকা সহায়ক ফাইলগুলি কিন্তু ব্যবহারকারীর কার্যপ্রবাহের জন্য নির্দিষ্ট) $GIT_DIR/info/exclude ফাইলের মধ্যে যেতে হবে।

.git/info/exclude ফাইলটি যে কোনও। .gitignore ফাইলের মতো একই ফর্ম্যাটে রয়েছে। আরেকটি বিকল্প হল core.excludesFile ফাইলটি গ্লোবাল প্যাটার্ন ধারণকারী একটি ফাইলের নাম।

দ্রষ্টব্য, যদি আপনার ইতিমধ্যে অস্থির পরিবর্তনগুলি থাকে তবে আপনাকে আপনার অবহেলা-নিদর্শনগুলি সম্পাদনা করার পরে অবশ্যই নিম্নলিখিতগুলি চালাতে হবে:

git update-index --assume-unchanged [<file>...]

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






gitignore