জিআইটি - .suo ফাইল উপেক্ষা করতে পারবেন না


85

আমি সি # তে লেখা একটি অ্যাপ্লিকেশনটিতে, একজন সহকর্মীর সাথে গিট ব্যবহার করে কাজ করার চেষ্টা করছি।

আমরা .gitignore ফাইলটিতে "प्रोजेक्ट 1.সুও" এন্ট্রি যুক্ত করেছি তবে প্রতিবার আমাদের একজনকে এই প্রকল্পটি প্রতিশ্রুতিবদ্ধ করতে হবে, গিট মনে হয় আমাদের "প্রকল্প1.সুও" ফাইলটিও প্রতিশ্রুতিবদ্ধ করতে বলেছে।

আমরা এইভাবে .gitignore এ ফাইল যুক্ত করার জন্য অনেকগুলি পদ্ধতি চেষ্টা করেছি:

*.suo
project1.suo
c:\project\project1.suo

আমরা এই সমস্যাটি সমাধান করতে পারি না।


4
.gitignore ফাইল নিজেই কি রেপোতে যুক্ত হয়?
স্টিভ বি

হ্যাঁ সংগ্রহস্থলে রয়েছে
লক্ষेদুর

4
আমি অনুমান করি যে ফাইলটি একবার যুক্ত হয়ে গেছে, এই ফাইলটিতে একটি গিট আরএম স্পষ্টভাবে চেষ্টা করুন, প্রতিশ্রুতিবদ্ধ করুন এবং দেখুন এটি এখনও যুক্ত ফাইল হিসাবে প্রস্তাবিত কিনা।
স্টিভ বি

আপনি কীভাবে আমাকে বলতে পারবেন যে আমি কীভাবে আরএম কমান্ডটি ব্যবহার করতে পারি, কারণ আমি চেষ্টা করেছি কিন্তু কমান্ডটি ফাইলটি খুঁজে পেয়েছে ...
লক্ষদেদুর

কার্যকর হওয়ার জন্য @ স্টিভবি .গিটিগনোরকে সংগ্রহস্থলটিতে যুক্ত করতে হবে না।
ইক্কে

উত্তর:


169

সংগ্রহস্থলীতে যুক্ত করা ফাইলগুলিকে গিটটি এড়িয়ে যায় না। আপনি যদি এটিকে উপেক্ষা করতে চান তবে আপনার সংগ্রহস্থল থেকে ফাইলটি মুছতে হবে:

git rm --cached project1.suo
git commit -m "Delete suo file from repository"

এটি আপনার হার্ডড্রাইভ থাকা অবস্থায়, এটি সংগ্রহস্থল থেকে ফাইলটি মুছবে।


আপনি যদি *। সুও ফাইলগুলি আরএম করেন, অবশ্যই এটি সেই ফাইলগুলিকে দূর থেকে ঠেলে দেবে না। যিনি এই প্রকল্পটি ক্লোন করেছেন তার পক্ষে কি সমস্যার সৃষ্টি করবে?
ওয়াকাস

আপনি যদি ভিজ্যুয়াল স্টুডিও ক্লায়েন্ট ব্যবহার করছেন তবে সেখান থেকে এটি করার কোনও উপায় নেই, আপনাকে সেমিডি শেলটি ব্যবহার করতে হবে। তবে যদি আমি শেল থেকে আরএম কমান্ডটি ব্যবহার করি তবে আমি একটি স্ট্রাইকথ্রু সহ .suo ফাইলটি দেখতে পেতাম, তবে আমি যদি ভিএস ইউআইয়ের মাধ্যমে পরিবর্তনটি প্রতিশ্রুতিবদ্ধ করি তবে তা আবার উপস্থিত হবে। কমান্ড-লাইনের মাধ্যমে আপনাকে উপরের দুটি কমান্ড করতে হবে।
মাইকেল ব্ল্যাকবার্ন

4
@ ওয়াকাস না, ভিজ্যুয়াল স্টুডিও তাদের জন্য কেবল একটি নতুন ফাইল তৈরি করবে। এটি যখন ভাণ্ডারগুলির অংশ হিসাবে * .সুও বাদ দিয়ে .gitignore গুরুত্বপূর্ণ। যখন তারা প্রতিশ্রুতিবদ্ধ হয়, .gitignore তারা যাচাই করেছে তা তাদের (বা কমপক্ষে নিরুৎসাহিত করতে) তাদের নিজস্ব এসইওও ফাইল পরীক্ষা করতে বাধা দেবে।
মাইকেল ব্ল্যাকবার্ন

4
এটি কিছু নতুন লোকের পক্ষে সুস্পষ্ট নাও হতে পারে। এটা চমত্কার ভাবে কাজ করেছে. এই কমান্ডটি কার্যকর করতে, আপনার অবশ্যই ফোল্ডারের ভিতরে থাকা উচিত যেখানে .suo অবস্থিত। প্রথম কমান্ডটি আপনাকে cmd.exe এ চালানো দরকার হ'ল ডিরেক্টরি পরিবর্তন করুন "সিডি <.suo> এর মূল ফোল্ডারের পুরো পাথ টাইপ করুন তারপরে এন্টার টিপুন .. ডিফল্টরূপে আপনি .vs ফোল্ডারটি দেখতে পাবেন না যেখানে .suo তাই নিশ্চিত শো তৈরি করুন make লুকানো ফাইলগুলি আপনার সংগ্রহস্থলের ফোল্ডারের root- র মধ্যে সক্রিয় করা হয় আমার ফাইলটি একটি প্রকল্পের নাম ছিল না শুধু এক্সটেনশন Git RM --cached .suo Git -m কমিট "সংগ্রহস্থল থেকে Suo ফাইল
moto_geek

যদি ফোল্ডারটি উপেক্ষা করার প্রয়োজন হয় এবং এটি ইতিমধ্যে দূরবর্তী রেপোতে রয়েছে। কমান্ড -r বিকল্পটি ব্যবহার করুন, git rm -r --cched <ফোল্ডারে যাওয়ার পথ>
সোমনাথ কদম

3

উত্তরে পদ্ধতিটি ব্যবহার করতে আমি সবসময় এই প্রশ্নের কাছে ফিরে যাই তবে আমি আরও একটি ভাল সমাধান পেয়েছি যা এই ফাইলটির পরিবর্তনগুলি উপেক্ষা করা। পদ্ধতিটি হ'ল

git update-index --assume-unchanged project1.suo

বা

git update-index --assume-unchanged .vs/config/applicationhost.config

এই ব্যবহারটি পূর্বাবস্থায় ফেরাতে - না-ধরে নেওয়া-অপরিবর্তিত


: আমি একটি বার্তা "মার্ক ফাইল ওয়েব <ডিরেক্টরির> / <filetoexclude> করতে অক্ষম মারাত্মক"
dancerjude

মনে রাখবেন যে কেউ যখন ফাইল আপডেট করে তখন এটি সমস্যার দিকে নিয়ে যাবে। গিট ফাইলটি আপডেট করার চেষ্টা করবে, তবে বিজ্ঞপ্তিগুলি পরিবর্তিত হয়েছে এবং আপনাকে একটি ত্রুটি বার্তা দেবে। যে কোনও ক্ষেত্রে, এর --skip-worktreeচেয়ে ভাল --assume-unchanged, যা কেবলমাত্র পারফরম্যান্সের কারণে ব্যবহার করা উচিত।
ইক্কে

-4

আমারও একই সমস্যা ছিল। ইক্কের সমাধানটি সহায়তা করে, তবে আপনার .gitignore থেকে * .সুও এন্ট্রি সরিয়ে দিতে ভুলবেন না it ফাইল সংশোধন করার পরে, করবেন

git add **/*.suo

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