আমি .gitignore ফাইলে .DS_Store যুক্ত করেছি, তবে মনে হচ্ছে এটি কেবলমাত্র ডিডিএসএসটিকেই উপেক্ষা করছে every প্রতিটি ফোল্ডার এবং সাবফোল্ডারে নয় directory
আমি কিভাবে এটা ঠিক করব?
আমি .gitignore ফাইলে .DS_Store যুক্ত করেছি, তবে মনে হচ্ছে এটি কেবলমাত্র ডিডিএসএসটিকেই উপেক্ষা করছে every প্রতিটি ফোল্ডার এবং সাবফোল্ডারে নয় directory
আমি কিভাবে এটা ঠিক করব?
উত্তর:
আমি মনে করি আপনার যে সমস্যাটি হচ্ছে তা হ'ল আগের কোনও প্রতিশ্রুতিতে, আপনি দুর্ঘটনাক্রমে .Dos_Store ফাইলগুলি সংগ্রহস্থলটিতে যুক্ত করেছেন। অবশ্যই, একবার আপনার সংগ্রহস্থলটিতে কোনও ফাইল ট্র্যাক করা হয়ে গেলে এটি প্রয়োগযোগ্য .gitignore ফাইলটিতে একটি এন্ট্রি মেলে এমনকি এটি ট্র্যাক করা অবিরত থাকবে।
আপনাকে নিজের ডিপোজিস্টরিতে যুক্ত হওয়া ডিডিএসএসটোোর ফাইলগুলি ম্যানুয়ালি মুছে ফেলতে হবে। আপনি ব্যবহার করতে পারেন git rm --cached .DS_Store
। একবার মুছে ফেলা হলে গিট এটিকে উপেক্ষা করবে। আপনার রুট .gitignore ফাইলটিতে আপনার কেবল নিম্নলিখিত লাইনটি দরকার:.DS_Store
। পিরিয়ড ভুলবেন না!
git rm --cached .DS_Store
কেবলমাত্র .DS_Store
বর্তমান ডিরেক্টরি থেকে সরান । আপনি find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
সমস্ত অপসারণ করতে ব্যবহার করতে পারেন.DS_Stores
সংগ্রহস্থল থেকে ।
টিপটি অনুভব করুন: যেহেতু আপনি সম্ভবত কখনওই .ডিএসএস স্টোর ফাইলগুলি অন্তর্ভুক্ত করতে চান না, তাই একটি বিশ্বব্যাপী নিয়ম করুন। প্রথমে কোথাও একটি গ্লোবাল .gitignore ফাইল তৈরি করুন, যেমন echo .DS_Store >> ~/.gitignore_global
। এখন গিটকে এটি সমস্ত সংগ্রহস্থলের জন্য ব্যবহার করতে বলুন:git config --global core.excludesfile ~/.gitignore_global
।
এই পৃষ্ঠাটি আমাকে আপনার প্রশ্নের উত্তর দিতে সহায়তা করেছে: https://help.github.com/articles/ignoring-files
যোগ **/.DS_Store
মধ্যে .gitignore
সাব ডিরেক্টরির জন্য
যদি .DS_Store
ইতিমধ্যে প্রতিশ্রুতিবদ্ধ হয়:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
সমস্ত সংগ্রহস্থলে এগুলি উপেক্ষা করার জন্য: (কখনও কখনও এটির নামও দেওয়া হয় ._.DS_Store
)
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
git rm --cached your_file
প্রথম ব্যবহার করুন
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
: থেকে, stackoverflow.com/questions/18393498/...
-f
আপেক্ষিক ফোল্ডারে যদি আপনার কাছে ফাইল খোলা থাকে তবে এটি যুক্ত করা দরকার বলে মনে হয়:find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
.ডিএস_সেটোরটি কখনই আপনার গিট সংগ্রহস্থলটিতে যুক্ত করা হয়নি, কেবল এটি আপনার .gitignore ফাইলটিতে যুক্ত করুন।
আপনার যদি না থাকে তবে ডাকা একটি ফাইল তৈরি করুন
.gitignore
আপনার অ্যাপ্লিকেশন এর মূল ডিরেক্টরিতে এবং সহজভাবে লিখুন
**/.DS_Store
এটা. এটি কখনই .ডিএস_সেটোর ফাইলটিকে আপনার গিটে ঝাঁকুনির অনুমতি দেয় না।
তবে এটি যদি ইতিমধ্যে থাকে তবে আপনার টার্মিনালে লিখুন:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
তারপরে আপনার দূরবর্তী রেপো থেকে .D_S_Store অপসারণ করতে পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করুন এবং চাপ দিন:
git commit -m "Remove .DS_Store from everywhere"
git push origin master
এবং এখন আপনার .gitignore ফাইলে .DS_Store যুক্ত করুন এবং তারপরে আবার কোডের 2 টি শেষ টুকরো (গিট কমিট ..., গিট পুশ ...) দিয়ে কমিট করুন এবং চাপুন
*
বা **
কি আপনি অর্জন করতে চান উপর নির্ভর করে। ডিরেক্টরিটি কীভাবে নেভিগেট করতে হয় এটি শেলকে বলার একটি উপায়। এই Stackoverflow উত্তর এটা ব্যাখ্যা করে সম্পূর্ণরূপে stackoverflow.com/a/28199633/4092170
আপনার .gitignore ফাইলটি দেখতে এমন হওয়া উচিত:
# Ignore Mac DS_Store files
.DS_Store
যতক্ষণ আপনি স্ল্যাশ অন্তর্ভুক্ত করবেন না, ততক্ষণ এটি সমস্ত ডিরেক্টরিতে ফাইলের নামের সাথে মিলে যায়। (থেকে এখানে )
git rm --cached path/to/file/here
পদক্ষেপ 1, সমস্ত *.DS_store
ফাইল মুছুন । কেউ দৌড়াতে পারে
git rm -f *.DS_Store
তবে সচেতন rm -f
হোন যে আপনার টাইপো থাকলে কিছুটা বিপজ্জনক হতে পারে! দ্বিতীয় পদক্ষেপ: যোগ করুন
*.DS_Store
.DS_Store
to .gitignore। এটি আমার পক্ষে কাজ করেছিল!
এছাড়াও আপনি যোগ করতে পারেন --cached
, স্থানীয় .DS_store ফাইল বজায় রাখার জন্য auco এর উত্তর পতাকা এডওয়ার্ড নিউওয়েল তার মূল উত্তর উল্লেখ করেছে। পরিবর্তিত কমান্ডটি এর মতো দেখাচ্ছে: find . -name .DS_Store -print0 | xargs -0 git rm --cached --ignore-unmatch
..চায়ার্স এবং ধন্যবাদ!
পদক্ষেপ: 1) এই কমান্ডটি ব্যবহার করে বিদ্যমান ফাইলগুলি সরান
অনুসন্ধান . -নাম .ডিএসএসটোয়ার -প্রিন্ট 0 | xargs -0 git rm -f --ignore-unmatch
পদক্ষেপ: ২) আপনার .gitignore ফাইলে .DS_Store যুক্ত করুন
পদক্ষেপ: 3) .gitignore গিট অ্যাডে আপনার পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করুন। Gitignore গিট কমিট-এম "সরানো .ডিএসএসটোোর"
$ git rm ./*.DS_Store
- সমস্ত। ডিএসএস স্টোর গিট থেকে সরান$ echo \.DS_Store >> .gitignore
- অগ্রাহ্য করুন। ভবিষ্যতে ডিএস_সেটোরপ্রতিশ্রুতিবদ্ধ এবং ধাক্কা