.DS_Store
গিট সংগ্রহস্থল থেকে আমি কীভাবে এই বিরক্তিকর ম্যাক ওএস এক্স ফাইলগুলি সরিয়ে ফেলতে পারি ?
.DS_Store
গিট সংগ্রহস্থল থেকে আমি কীভাবে এই বিরক্তিকর ম্যাক ওএস এক্স ফাইলগুলি সরিয়ে ফেলতে পারি ?
উত্তর:
সংগ্রহস্থল থেকে বিদ্যমান ফাইলগুলি সরান:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
লাইন যুক্ত করুন
.DS_Store
ফাইলটিতে .gitignore
, যা আপনার সংগ্রহস্থলের শীর্ষ স্তরে পাওয়া যাবে (বা এটি যদি সেখানে ইতিমধ্যে না থাকে তবে তৈরি করা হয়)। উপরের ডিরেক্টরিতে আপনি এই কমান্ডটি দিয়ে সহজেই এটি করতে পারেন
echo .DS_Store >> .gitignore
তারপর
git add .gitignore
git commit -m '.DS_Store banished!'
-exec
ফলে git-rm
প্রতিটি .DS_Store ফাইলের জন্য একবার প্রবর্তন xargs
করা হবে , যখন সমস্ত কমান্ড লাইনে সমস্ত পথ রাখবে। বেশিরভাগ ক্ষেত্রেই আমি পছন্দ করি xargs
কারণ আমাকে প্রচুর বিশেষ চরিত্রের পালানোর বিষয়ে চিন্তা করতে হবে না।
.DS_Store
করে .gitignore
? অর্থাত, এটি কি some/level/of/folders/.DS_Store
পাশাপাশি উপেক্ষা করবে ?
বেনজাডো এবং ওয়েবম্যাট এর উত্তরগুলির সংমিশ্রণ, আপডেট করা git rm
, রেপোতে থাকা ফাইলগুলিতে ব্যর্থ না হওয়া এবং এটি কোনও ব্যবহারকারীর জন্য সাধারণভাবে পেস্ট-সক্ষম করে তোলা:
# remove any existing files from the repo, skipping over ones not in repo
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
# specify a global exclusion list
git config --global core.excludesfile ~/.gitignore
# adding .DS_Store to that list
echo .DS_Store >> ~/.gitignore
~/.gitignore
আমার বিশ্বব্যাপী বাদ দেওয়া ফাইল হিসাবে থাকা ব্যথা। এমন কিছু ফাইল রয়েছে যা আমি আমার হোম ডিরেক্টরি থেকে বাদ দিতে চাই যা আমি বিশ্বব্যাপী উপেক্ষা করতে চাই না । ~/.gitexcludes
পরিবর্তে আমি একই নির্দেশের মাধ্যমে ব্যবহার করি :core.excludesfile
এই সমস্যাটি মোকাবেলার সর্বোত্তম সমাধান হ'ল আপনার সিস্টেমে সমস্ত গিট রেপো থেকে এই ফাইলগুলি বিশ্বব্যাপী উপেক্ষা করা। এটি বিশ্বব্যাপী গিটিগনোর ফাইল তৈরি করে করা যেতে পারে:
vi ~/.gitignore_global
ফাইলগুলি উপেক্ষা করার জন্য বিধিগুলি যুক্ত করা:
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sql
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
এখন, আপনার গ্লোবাল গিট কনফিগারেশনে এই ফাইলটি যুক্ত করুন:
git config --global core.excludesfile ~/.gitignore_global
সম্পাদনা:
আইকনগুলি সরানো হয়েছে কারণ তারা অ্যাপ্লিকেশন সম্পত্তি হিসাবে প্রতিশ্রুতিবদ্ধ হতে পারে।
কিছু পরিস্থিতিতে আপনি বিশ্বব্যাপী কিছু ফাইল উপেক্ষা করতেও পারেন। আমার জন্য .ডিএস_সোত্তর তাদের মধ্যে একটি। এখানে কীভাবে:
git config --global core.excludesfile /Users/mat/.gitignore
(বা আপনার পছন্দের কোনও ফাইল)
তারপরে একটি রেপো .gitignore এর মতো ফাইলটি সম্পাদনা করুন। মনে রাখবেন যে আমি মনে করি আপনাকে একটি পরম পথ ব্যবহার করতে হবে।
আপনি যদি ফাইলগুলি সরাতে অক্ষম হন কারণ তাদের স্টেজ ব্যবহারের পরিবর্তন রয়েছে:
git rm --cached -f *.DS_Store
টার্মিনালটি খুলুন এবং "সিডি <প্রকল্পপথ>" টাইপ করুন
বিদ্যমান ফাইলগুলি সরান:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
nano .gitignore
এটি যোগ করুন .DS_Store
"ctrl + x" টাইপ করুন
"Y" টাইপ করুন
ফাইল সংরক্ষণ করতে প্রবেশ করুন
git add .gitignore
git commit -m '.DS_Store removed.'
nano .gitignore
উপস্থিত না থাকলে ফাইল তৈরি করে, এই কমান্ডটি প্রকল্পের রুট ফোল্ডার থেকে কার্যকর করা উচিত
শীর্ষস্থানীয় ভোট দেওয়া উত্তর দুর্দান্ত, তবে আমার মতো ছদ্মবেশীদের সাহায্য করার জন্য, এখানে .gitignore ফাইলটি তৈরি করতে, সম্পাদনা করতে, সংরক্ষণ করতে, গিটে আপনি ইতিমধ্যে যুক্ত করা ফাইলগুলি সরিয়ে ফেলতে পারবেন, এবং পরে ফাইলটি গিথুবকে ঠেকিয়ে নিন।
.Gitignore ফাইলটি তৈরি করুন
একটি .gitignore ফাইল তৈরি করতে, আপনি কেবলমাত্র touch
সেই ফাইলটি নির্দিষ্ট ফাইলের সাথে একটি ফাঁকা ফাইল তৈরি করতে পারেন । আমরা .gitignore নামক ফাইলটি তৈরি করতে চাই যাতে আমরা কমান্ডটি ব্যবহার করতে পারি:
touch .gitignore
ফাইলগুলি উপেক্ষা করুন
এখন আপনাকে লাইনটি যুক্ত করতে হবে যা গিটকে আপনার .gitignore এ ডিএস স্টোর ফাইলগুলি উপেক্ষা করতে বলে। এটি করতে আপনি ন্যানো সম্পাদকটি ব্যবহার করতে পারেন।
nano .gitignore
ন্যানো দুর্দান্ত কারণ এটির থেকে কীভাবে বেরিয়ে আসবেন সে সম্পর্কে নির্দেশাবলী রয়েছে। ( Ctrl- Oসংরক্ষণ করতে, Ctrl- Xপ্রস্থান করতে)
এই গিথুব গিস্টের কিছু ধারণাগুলি অনুলিপি করুন এবং আটকান যা উপেক্ষা করার জন্য কিছু সাধারণ ফাইল তালিকা করে। এই প্রশ্নের উত্তর দেওয়ার জন্য সবচেয়ে গুরুত্বপূর্ণগুলি হ'ল:
# OS generated files #
######################
.DS_Store
.DS_Store?
# টি মন্তব্য, এবং আপনার ফাইলটি বাড়ার সাথে সাথে আপনাকে সংগঠিত করতে সহায়তা করবে।
এই গিথুব নিবন্ধটিতে কিছু সাধারণ ধারণা এবং গাইডলাইন রয়েছে।
ইতিমধ্যে গিটে যুক্ত ফাইলগুলি সরান
অবশেষে, আপনাকে অবশ্যই আপনার ডিরেক্টরি থেকে সেই ডিএস স্টোর ফাইলগুলি সরিয়ে ফেলতে হবে।
শীর্ষে ভোট দেওয়া উত্তর থেকে এই দুর্দান্ত কমান্ডটি ব্যবহার করুন। এটি আপনার ডিরেক্টরিতে থাকা সমস্ত ফোল্ডারগুলিতে যাবে এবং গিট থেকে এই ফাইলগুলি সরিয়ে দেবে।
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
.গিথিনোরকে গিথুব পর্যন্ত চাপ দিন
শেষ পদক্ষেপ, আপনাকে অবশ্যই নিজের .gitignore ফাইলটি প্রতিশ্রুতিবদ্ধ করতে হবে।
git status
git add .gitignore
git commit -m '.DS_Store banished!'
এটির কাজ পেতে আমাকে উপরের গিট-আরএম গিট আরএম এ পরিবর্তন করতে হয়েছিল:
find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print
এগুলি ব্যবহার করে মুছুন git-rm
এবং তারপরে .gitignore
আবার যুক্ত হওয়া বন্ধ করতে ডিডিএসএসস্টোর যুক্ত করুন। এগুলি সমস্ত একসাথে তৈরি হওয়া বন্ধ করতে আপনি ব্লুহোরভেস্ট ব্যবহার করতে পারেন
আপনি যদি প্রতিটি ফোল্ডার এবং সাবফোল্ডারে ডিএসএসটোর ফাইলগুলি সরাতে চান তবে:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
এগুলি দ্বারা উপেক্ষা করুন:
echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
নিম্নলিখিত আমার জন্য সবচেয়ে ভাল কাজ করেছে। স্থানীয় পরিবর্তনগুলির সাথে মিলহীন ফাইল এবং ফাইলগুলি পরিচালনা করে। রেফারেন্সের জন্য, এটি ম্যাক 10.7 সিস্টেমে চলমান গিট 1.7.4.4 এ ছিল।
সন্ধান এবং অপসারণ:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f
আমিও বিশ্বব্যাপী। ডিএস_সোলোরে একটি বিশ্বব্যাপী কোর.এক্সক্লুডফাইলে সেট করে সমস্ত সংগ্রহস্থল জুড়ে অগ্রাহ্য করি।
প্রথমে ফাইলটি তৈরি করুন (যদি ইতিমধ্যে একটি উপস্থিত না থাকে):
touch ~/.gitignore
তারপরে নিম্নলিখিত লাইনটি যুক্ত করুন এবং সংরক্ষণ করুন:
.DS_Store
বিশ্বব্যাপী ফাইলকে সম্মান জানাতে গিটটি কনফিগার করুন:
git config --global core.excludesfile ~/.gitignore
আমি দেখতে পেয়েছি যে স্নিপপ্লার থেকে নিম্নলিখিত রেখাটি .DS_Store
স্থানীয় পরিবর্তন রয়েছে এমন একটি সহ সমস্ত মুছতে সর্বোত্তম করে ।
find . -depth -name '.DS_Store' -exec git-rm --cached '{}' \; -print
--cached
বিকল্প, আপনার স্থানীয় রাখে .DS_Store
যেহেতু এটি যেভাবেই পুনরুত্পাদন করা হতে পারে।
এবং ঠিক উপরে উল্লিখিত সমস্ত মত .DS_Store
, আপনার প্রকল্পের মূলে .gitignore ফাইল যুক্ত করুন। তাহলে এটি আর আপনার নজরে থাকবে না rep
আমি পার্টিতে কিছুটা দেরি করেছি, তবে আমার একটা ভালো উত্তর আছে। .DS_Store ফাইলগুলি সরাতে, টার্মিনাল উইন্ডো থেকে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন, তবে 'সন্ধান করুন' দিয়ে ফাইলগুলি মুছে ফেলার ক্ষেত্রে খুব সাবধানতা অবলম্বন করুন। -নেম বিকল্পের সাথে একটি নির্দিষ্ট নাম ব্যবহার করা এটির ব্যবহারের অন্যতম নিরাপদ উপায়:
cd directory/above/affected/workareas
find . -name .DS_Store -delete
আপনি যদি এগুলি আগে এবং পরে কেবল তালিকাবদ্ধ করতে চান তবে আপনি "মুছে ফেলুন" ছেড়ে দিতে পারেন। এটি আপনাকে আশ্বস্ত করবে যে তারা চলে গেছে।
~ / .Gitignore_global পরামর্শ সম্পর্কে: এখানে সাবধানতা অবলম্বন করুন। আপনি সেই দুর্দান্ত ফাইলটি প্রতিটি ওয়ার্কিয়ার শীর্ষ স্তরের মধ্যে .gitignore এ স্থাপন করতে এবং এটি প্রতিশ্রুতিবদ্ধ করতে চান, যাতে আপনার রেপো ক্লোন করে যে কেউ এর ব্যবহারের সুবিধা অর্জন করতে পারে।
এটি কাজ করবে:
find . -name "*.DS_Store" -type f -exec git-rm {} \;
কার নামের সাথে শেষ সমস্ত ফাইল মুছে ফেলে .DS_Store
সহ ._.DS_Store
।
"*.DS_Store"
সেক্ষেত্রে আপনার প্রয়োজন , যাতে খোলটি find
শেল দ্বারা প্রসারিত না হয়ে স্থানান্তরিত হয়।
এটি আমার পক্ষে কাজ করেছে, উপর থেকে দুটি উত্তরের কম্বো:
এই সমস্যাটি সমাধানের কয়েকটি সমাধান রয়েছে। .DS_Store ফাইলগুলি এড়ানোর জন্য, ফোল্ডারগুলি দেখতে ওএস এক্স ফাইন্ডার ব্যবহার করবেন না। ফোল্ডারগুলি দেখার একটি বিকল্প উপায় হ'ল ইউনিক্স কমান্ড লাইন ব্যবহার করা। .DS_Store ফাইলগুলি অপসারণ করতে ডিএসএস টোর টার্মিনেটর নামে একটি তৃতীয় পক্ষের পণ্য ব্যবহার করা যেতে পারে। পুরো সিস্টেম থেকে .DS_Store ফাইলগুলি মুছতে একটি UNIX শেল কমান্ড ব্যবহার করা যেতে পারে। অ্যাপ্লিকেশনগুলি থেকে টার্মিনাল চালু করুন: ইউটিলিটিস ইউএনআইএক্স শেল প্রম্পটে নিম্নলিখিত ইউএনএক্স কমান্ডটি প্রবেশ করুন: sudo সন্ধান করুন / -নেম ".ডিএসএসটোোর" -ডেপথ-এক্সেক আরএম {} \; যখন কোনও পাসওয়ার্ডের জন্য অনুরোধ করা হবে তখন ম্যাক ওএস এক্স প্রশাসকের পাসওয়ার্ড লিখুন।
এই কমান্ডটি সম্পূর্ণ ডিভাইসটির মাধ্যমে ফাইল সিস্টেমের রুট (/) থেকে শুরু করে .DD_Store এর সমস্ত উপস্থিতি সন্ধান এবং সরিয়ে ফেলা হয়। নির্ধারিত টাস্ক হিসাবে চালানোর জন্য এই কমান্ডটি কনফিগার করতে নীচের পদক্ষেপগুলি অনুসরণ করুন: অ্যাপ্লিকেশনগুলি থেকে টার্মিনাল চালু করুন: ইউটিআইএক্স শেল প্রম্পটে নিম্নলিখিত ইউএনএক্স কমান্ডটি প্রবেশ করুন:
sudo crontab -e যখন কোনও পাসওয়ার্ডের জন্য অনুরোধ করা হয় তখন ম্যাক ওএস এক্স প্রশাসকের পাসওয়ার্ড প্রবেশ করুন। একবার vi সম্পাদক এ একবার আপনার কীবোর্ডে চিঠিটি টিপুন এবং নিম্নলিখিতটি প্রবেশ করুন:
15 1 * * * রুট সন্ধান / -নাম "। ডিএসএস স্টোর" -ডেপথ-এক্সেক আরএম {} \;
একে ক্রন্টব এন্ট্রি বলা হয়, যার নিম্নলিখিত বিন্যাসটি রয়েছে:
মিনিট আওয়ার দিনআম মাসের মাস ডেও অফ উইক ইউজার কমান্ড।
ক্রোনট্যাব প্রবেশের অর্থ হ'ল কমান্ডটি রুট নামক অ্যাকাউন্টের মাধ্যমে প্রতিদিন 1: 15 টায় স্বয়ংক্রিয়ভাবে সিস্টেম দ্বারা কার্যকর করা হবে।
কমান্ডটি সমস্ত উপায় সন্ধান থেকে শুরু হয়। যদি সিস্টেমটি না চালায় তবে এই কমান্ডটি কার্যকর হবে না।
এন্ট্রিটি সংরক্ষণ করতে একবার Esc কী টিপুন, তারপরে একই সাথে Shift + z + z টিপুন।
দ্রষ্টব্য: চতুর্থ ধাপে তথ্য কেবলমাত্র vi সম্পাদকের জন্য।
এটি আপনার ফাইলে যোগ করুন। gitignore
#Ignore folder mac
.DS_Store
এটি সংরক্ষণ করুন এবং প্রতিশ্রুতিবদ্ধ
git add -A
git commit -m "ignore .DS_Store"
এবং এখন আপনি আপনার সমস্ত কমান্ডের জন্য এটিকে উপেক্ষা করেন
এই ফাইলটি চিরতরে মুক্তি পাওয়ার সর্বোত্তম উপায় এবং এটির জন্য আর কখনও চিন্তা করতে হবে না
একটি গ্লোবাল .gitignore ফাইল করুন:
প্রতিধ্বনি .ডিএস_সেটোর >> ~ / .gitignore_global
এবং গিটকে জানতে দিন যে আপনি এই ফাইলটি আপনার সমস্ত সংগ্রহস্থলের জন্য ব্যবহার করতে চান:
গিট কনফিগারেশন - গ্লোবাল কোর.এক্সক্লুডফিল ~ / .gitignore_global এবং এটিই! .ডিএসএস স্টোর আপনার পথের বাইরে।
.DS_STORE
স্থানীয়ভাবে সরানোর দরকার নেই
এটি .gitignore
ফাইল এ যুক্ত করুন
.Gitignore ফাইলটি কেবল একটি পাঠ্য ফাইল যা কোনও প্রকল্পে কোন ফাইল বা ফোল্ডারগুলিকে উপেক্ষা করতে হবে তা গিটকে বলে।
কমান্ড
nano .gitignore
.DS_Store
তারপরে ক্লিক করুনCTRL+X > y > Hit Return
git status
আপনার পরিবর্তনগুলি সর্বশেষ দেখুনgit add .gitignore
git commit -m 'YOUR COMMIT MESSAGE'
git push origin master