UserInterfaceState.xcuserstate উপেক্ষা করতে পারবেন না


301

আমি গিট ফর এক্সকোড 4 প্রকল্পের সংস্করণ নিয়ন্ত্রণের জন্য ব্যবহার করছি। আমি স্পষ্টভাবে জুড়েছেন ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState.xcuserstateকরতে .gitignore, কিন্তু গীত এটা উপেক্ষা করা হবে না। কোনও ধারণা কেন এটি এমন?

উত্তর:


668

গিট সম্ভবত ইতিমধ্যে ফাইলটি ট্র্যাক করছে।

থেকে gitignore ডক্স :

বর্তমানে ট্র্যাক করা একটি ফাইল ট্র্যাকিং বন্ধ করতে, গিট আরএম - ক্যাচ ব্যবহার করুন ।

প্রতিস্থাপন [project]এবং [username]আপনার তথ্যের সাথে এটি ব্যবহার করুন :

git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"

বিকল্পভাবে আপনি সেই -aবিকল্পটি ব্যবহার করতে পারেন যা git commitসংশোধিত বা মোছা সমস্ত ফাইল যুক্ত করবে।

একবার আপনি গিট থেকে ফাইলটি সরিয়ে ফেললে, এটি আপনার সম্মান করবে .gitignore


3
আমার এই সমস্যা আছে তবে আমি যখন xcuserstate ফাইলটি সরিয়ে দেওয়ার চেষ্টা করি তখন এটি বলে যে 'কোনও ফাইলের সাথে মেলে না'। কি হচ্ছে?
রব ক্যারওয়ে

আমার কাছে একই সমস্যা যেমন @ রবক্যারওয়ে
ম্যাক্সগ্যাব্রিয়েল

24
এটি আমাকে সহায়তা করেছে: 1) এক্সকোড ছেড়ে দিন; ২) প্রকল্প ডিরেক্টরিতে যান এবং আপনি .git এবং .gitignore ফাইলগুলি দেখেছেন তা নিশ্চিত করতে টার্মিনাল অ্যাপ্লিকেশন থেকে একটি "ls -la" করুন; 3) উপরের উদাহরণে " প্রকল্প ফোল্ডার" আপনার প্রকল্পের নাম পরিবর্তন করুন ; 4) ম্যাট দেখায় এমন দুটি গিট কমান্ড করুন; 5) এক্সকোড পুনরায় চালু করুন এবং একটি প্রতিশ্রুতি দিন এবং যাচাই করুন যে xcuserstate ফাইলটি আর তালিকাভুক্ত নয়।
ব্রেইনওয়্যার

1
এসএনএন এর সমতুল্য কীভাবে করবেন? আমি একই সমস্যা পাচ্ছি, যার মধ্যে
এসভন

ধন্যবাদ @ ব্রেনওয়্যার !! এটি অবশেষে আপনার পরামর্শের জন্য ধন্যবাদ কাজ করেছে। আমি মনে করি আগেই এক্সকোড বন্ধ করা খুব গুরুত্বপূর্ণ।
জে ভার্স্লুইস

52

যদি অবহেলিত ফাইলটি তালিকার চিহ্নবিহীন তালিকায় প্রদর্শিত থাকে তবে আপনি git clean -f -d জিনিসগুলি সাফ করতে ব্যবহার করতে পারেন ।

1।

git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate

2।

git commit -m "Removed file that shouldn't be tracked"

৩. সতর্কতার আগে চেষ্টা করুন git clean -f -d --dry-run, অন্যথায় আপনি আপত্তিজনক পরিবর্তনগুলি হারাতে পারেন।

তারপর: git clean -f -d


গিথুব এখন আপনাকে একটি ডিফল্ট .gitignore ফাইল দেয় যা অন্যদের মধ্যে এই ফাইলটি অন্তর্ভুক্ত করে তবে আপনাকে এখনও আপনার পদক্ষেপগুলি অতিক্রম করতে হবে। বিরক্তিকর ধরণের
cspam

3
পুরুষদের ধন্যবাদ, গিট পরিষ্কার-ফ-ডি সবেমাত্র মুছে ফেলা হয়েছে। আমার প্রকল্পের xcodeproj এবং অন্যান্য ফাইলগুলি ...
জেরেমি লুইসেটে

1
গিট ক্লিন চালানোর আগে - শুকনো-চালিত পতাকাটি ব্যবহার করার জন্য দৃ ie়ভাবে পরামর্শ দেওয়া হয়েছে, git clean -f -d --dry-run যা ঘটেছিল তা দেখার জন্য
শূন্য0 কুল

কি করে git clean -f -d?
অ্যালেনলিলি

আপনার git clean -f -dযদি অনুমতি না দেওয়া ফাইল পরিবর্তন হয় তবে তা ব্যবহার করবেন না ! আমি এটি ব্যবহার করেছি এবং এটি ইতিমধ্যে তৈরি করা সামগ্রী সহ আমার সতেজ নির্মিত ফাইলগুলি সরিয়ে দিয়েছে! :) সুতরাং প্রথমে প্রতিশ্রুতিবদ্ধ এবং তারপরে পরিষ্কার
কালাফুন

44

সমস্ত উত্তর দুর্দান্ত তবে এখানে আপনি প্রতিটি ম্যাক (হোম এবং অফিস) এ কাজ করলে প্রতিটি ব্যবহারকারীর জন্য একটাই মুছে ফেলা হবে Answer

git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"

20

যদি কোনও বন্ধু আমাকে এই আশ্চর্যজনক সাইটটি দেখায় https://www.gitignore.io/ । আপনার পছন্দ বা অন্যান্য বিকল্পগুলির আইডিই প্রবেশ করুন এবং এটি স্বয়ংক্রিয়ভাবে gitignoreদরকারী উপেক্ষা সমন্বিত একটি ফাইল তৈরি করবে যার মধ্যে একটি xcuserstategitignoreডাউনলোড করার আগে আপনি ফাইলটি পূর্বরূপ দেখতে পারেন ।


16

এখানে উল্লিখিত সমস্ত কিছু করার পরেও ফাইলটি প্রদর্শিত হতে থাকে, এক্সকোড সেটিংসে এই চেকবক্সটি চেক না করা হয়েছে তা নিশ্চিত করুন:

এখানে চিত্র বর্ণনা লিখুন


14

শুধু "গিট ক্লিন-ফ-ডি" আমার পক্ষে কাজ করেছে!


7

আপনি যদি গিটহাব ব্যবহার করেন তবে এখানে কিছু ডেমো এবং শর্ট কাট রয়েছে, মূল ধারণাটি একই।

1. এই মত টার্মিনাল খুলুন

এখানে চিত্র বর্ণনা লিখুন

২. নীচের কমান্ডটি টার্মিনালে একটি স্পেসের পরে আটকান এবং তারপরে .xcuserstate ফাইলটির পথটি ঠিক এভাবে পেস্ট করুন

git rm --cached এখানে চিত্র বর্ণনা লিখুন

৩. নিশ্চিত করুন যে আপনার কাছে সঠিক গিটটি উপেক্ষা করে তারপরে কোডটি কমিট করুন :)

এখানে চিত্র বর্ণনা লিখুন


4

এখানে কিভাবে আপনার Git ইতিহাস থেকে যাও recursively প্রশ্নে ফাইল মুছে ফেলার জন্য একটি খুব সুন্দর ব্যাখ্যা হল: http://help.github.com/remove-sensitive-data/

খুব দরকারী, কারণ অন্যথায় সরঞ্জামগুলি 'হ্যাং' ঝোঁক দেয় যখন সেই বিশাল ফাইলগুলির মধ্যে ভিন্নতা দেখানোর চেষ্টা করা হত যা প্রথমে পরীক্ষা করা উচিত ছিল না ...

এখানে সবচেয়ে বড় জিনিস থেকে মুক্তি পেতে আপনি কী করতে পারেন (সংক্ষেপে):

cd YourProject
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD
# see what you want to do with your remote here...
# you can: git push origin master --force
# or you can delete it and push a fresh new one from your cleaned-up local...
rm -rf .git/refs/original
git gc --prune=now
git gc --aggressive --prune=now

আমার জন্য খুব সুন্দরভাবে কাজ করেছেন :)


2

আমার জন্য কিছুই কাজ করেনি, তবে এটি

আপনার গিটিগনরে এই লাইনটি যুক্ত করুন

*.xcuserdata

1

এটি আমার পক্ষে কাজ করে

  1. ফোল্ডারটি খুলুন যা project.xcworkspaceটার্মিনাল থেকে প্রকল্প ফাইল রয়েছে ।

  2. এই আদেশটি লিখুন: git rm --cached *xcuserstate

এটি ফাইলটি সরিয়ে ফেলবে।


0

এক্সকোড ৮.৩.৩ এর জন্য আমি উপরের কোডটি চেষ্টা করে দেখেছি এবং এখন পর্যবেক্ষণ করতে হবে

প্রথমে আপনি .gitignore ফাইল ব্যবহার করে তৈরি করতে পারেন

 touch .gitignore

এর পরে আপনি এই কমান্ডটি ব্যবহার করে এবং সমস্ত ব্যবহারকারী ব্যবহারকারীর পৃষ্ঠ ফাইল মুছে ফেলতে পারেন এবং এই আদেশটি ব্যবহার করে এটি আপনার .gitignore ফাইলকে সম্মান করবে।

 git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
 git commit -m "Removed file that shouldn't be tracked"

-1

আমি মনে করি এটি লিখতে ভাল হবে।

গিট আরএম - ক্যাশে * / ইউজারআইন্টারফেস স্টেট.এক্সকুসারস্টেট

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