দুর্ঘটনাক্রমে প্রতিশ্রুতিবদ্ধ .আইডিএ ডিরেক্টরি ফাইলগুলি গিটে


306

আমি দুর্ঘটনাক্রমে .idea/ডিরেক্টরিটি গিটে পরিণত করেছি। এটি অন্য কোথাও দ্বন্দ্ব সৃষ্টি করছে আমাকে আমার রেপো চেকআউট করতে হবে। আমি ভাবছিলাম যে আমি কীভাবে এই ফাইলগুলি রিমোট থেকে সরিয়ে দেব?

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

error: The following untracked working tree files would be overwritten by checkout:
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/uiDesigner.xml
.idea/vcs.xml
.idea/workspace.xml

10
আপনি ভবিষ্যতে আপনার প্রতিশ্রুতি পর্যালোচনা করে এড়াতে সহায়তা করতে পারেন। আপনি যখন প্রতিশ্রুতি লিখছেন তখন আমি আপনার সম্পাদকের মধ্যে পার্থক্য দেখানোর commitসাথে চলতে পছন্দ করি -v। এটি এই ধরণের ভুল প্রতিরোধ করতে সহায়তা করে পাশাপাশি আপনি যা পরিবর্তন করেছেন তার প্রতিশ্রুতি বার্তাকে ফোকাস করতে সহায়তা করে।
দেনিথ

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

1
আইডিএর দুটি ফাইল বাদে সমস্ত উত্স নিয়ন্ত্রণে থাকা উচিত: devnet.jetbrains.com/docs/DOC-1186
cja

আমি খুঁজে পেয়েছি IntelliJ খুব দরকারী প্লাগ ইন .ignore যখন আপনি সমস্ত ফাইল যে Git সংঘটিত করা উচিত নয় পরিচালনা করতে চান: plugins.jetbrains.com/plugin/7495?pr=idea
paranza

হাই, আমাদের যদি দূরবর্তী সংগ্রহস্থলটিতে .idea থাকে তবে এর ক্ষতিকারক কী?
মিলাদ সালিমি

উত্তর:


676

উপেক্ষা করা ফাইলের তালিকায় .idea ডিরেক্টরি যুক্ত করুন

প্রথমে এটি যুক্ত করুন .gitignore, যাতে এটি দুর্ঘটনাক্রমে আপনার (বা অন্য কেউ) দ্বারা প্রতিশ্রুতিবদ্ধ হয় না:

.idea

এটি সংগ্রহস্থল থেকে সরান

দ্বিতীয়ত, ডিরেক্টরি কেবল সংগ্রহস্থল থেকে সরান, তবে স্থানীয়ভাবে এটি মুছবেন না। এটি অর্জন করতে, এখানে তালিকাভুক্ত যা করুন:

স্থানীয় ফাইল সিস্টেম থেকে মুছে ফেলা ছাড়াই একটি গিট সংগ্রহস্থল থেকে একটি ফাইল সরান

অন্যকে পরিবর্তন পাঠান

তৃতীয়ত, .gitignoreফাইলটি .ideaসংগ্রহ করুন এবং সংগ্রহস্থল থেকে অপসারণ করুন । এর পরে এটি রিমোট (গুলি) এ চাপ দিন।

সারসংক্ষেপ

সম্পূর্ণ প্রক্রিয়াটি দেখতে এই রকম হবে:

$ echo '.idea' >> .gitignore
$ git rm -r --cached .idea
$ git add .gitignore
$ git commit -m '(some message stating you added .idea to ignored entries)'
$ git push

(allyচ্ছিকভাবে আপনি শেষ লাইনটি প্রতিস্থাপন করতে পারেন git push some_remote, some_remoteআপনি যে রিমোটটির দিকে যেতে চান তার নাম কোথায় )


4
দ্রষ্টব্য: fatal: pathspec '.idea' did not match any filesআপনি চালনার সময় আপনি যদি বার্তাটি পান তবে git rm -r --cached .ideaআপনার .idea ফোল্ডারটি মুছুন, গিথুব থেকে টানুন এবং তারপরে আবার চেষ্টা করুন।
annedroiid

যদি আপনি 'কোনও ফাইলের সাথে মেলে না' এর @annedroiid ত্রুটিটি পান তবে আপনি চেষ্টা করতে পারেন এবং এর পথটি যুক্ত করতে পারেন। আমি যখন ডাটাবেস.আইএমএল ফাইলটি মোছার সময়, আমি কেবল 'git rm -r - ক্যাচড কনফিগারেশন / ডাটাবেস.আইএমএল' করেছি
কলিন্স

.Idea ডিরেক্টরিতে থাকা কিছু ফাইল আপনার রেপোতে চেক ইন করা উচিত। দেখুন github.com/github/gitignore/blob/master/Global/... কিভাবে আপনার .gitignore মত হওয়া উচিত উপর JetBrains পরামর্শের জন্য।
টোকেনাইজার_ফসজ 15

2
আমার জীবনের জন্য আমি এই ফোল্ডারটি আমাদের রেপো থেকে বের করতে পারি না ... শাখা বদলানো এটি পুনরায় নজরদারি চালিয়ে যায় ... লোকেরা এটি একাধিক শাখায় চালিয়েছে এবং যে কোনও সময় আপনি শাখাগুলি স্যুইচ করেছেন ... গিট মনে করে এটির প্রয়োজন আছে .. ... কোনও সময়ে ... আপনার .idea ফোল্ডারটি মুছুন তাই .. সংক্ষেপে ... এখন শাখা পরিবর্তন করা আমাদের জন্য মূলত একটি সেটিংস মুছা। আমি এটিকে মাস্টারে চালানোর চেষ্টা করেছি ... তারপরে সমস্ত শাখায় মার্জ করে .. তবে স্টিলগুলি সেটিংস মুছে দিচ্ছে।
নবলবার্গস

1
আমাদের কাছে এটির জন্য স্থায়ী সমাধান .ideaআছে যা ফাইলগুলি প্রতিশ্রুতি দেওয়ার জন্য ফোল্ডার যুক্ত করতে কখনও ইন্টেলিজেজে সেট করা যায় না ?
সেরহাট

88

আপনি এটিকে রেপো থেকে সরিয়ে পরিবর্তনটি প্রতিশ্রুতিবদ্ধ করতে পারেন।

git rm .idea/ -r --cached
git add -u .idea/
git commit -m "Removed the .idea folder"

এর পরে, আপনি এটি রিমোটে ধাক্কা দিতে পারেন এবং তার পরে প্রতিটি চেকআউট / ক্লোন ঠিক থাকবে।


10
গ্রহণযোগ্য উত্তরের বিপরীতে এটি আমার পক্ষে কাজ করেছিল। হতে পারে এটি তেহ গিট অ্যাড-ইউ পার্থক্য তৈরি করেছিল।
পাওলো মিওনি

আপনার ২ য় লাইনের দরকার নেই।
kjdion84

অন্যরা যেমন বলেছিল, আমি দ্বিতীয় লাইনে চালাইনি। মোহন মত কাজ! ধন্যবাদ
কালোরা

0

আপনার প্রকল্পে একটি .gitignore ফাইল যুক্ত /.ideaকরা এবং এতে যুক্ত করা উচিত। আপনার প্রতিটি ডিরেক্টরি / ফাইল এক লাইনে যুক্ত করা উচিত।

আপনার যদি একটি বিদ্যমান .gitignore ফাইল থাকে তবে আপনার কেবল ফাইলটিতে একটি নতুন লাইন যুক্ত করে রাখা উচিত/.idea

তারপরে রান git rm -r --cached .idea কমান্ড।

আপনি যদি কোনও ত্রুটির মুখোমুখি হন তবে আপনি git rm -r -f --cached .ideaকমান্ড চালাতে পারেন । সর্বোপরি রান করার git add .পরে git commit -m "Removed .idea directory and added a .gitignore file"এবং শেষ পর্যন্ত git pushকমান্ডটি চালিয়ে পরিবর্তনগুলি চাপুন push


0

মাস্টার শাখার উপর এটি করা আরও ভাল

.Gitignore ফাইলটি সম্পাদনা করুন। এটিতে নীচের লাইনটি যুক্ত করুন।

.idea

রিমোট রেপো থেকে .idea ফোল্ডারটি সরান। কমান্ড নীচে ব্যবহার করে।

git rm -r --cached .idea

আরও তথ্যের জন্য. উল্লেখ: প্রকৃতপক্ষে এগুলি মোছা না করে গিট সংগ্রহস্থল থেকে ফাইলগুলি সরানো

স্টেজ .gitignore ফাইল। কমান্ড নীচে ব্যবহার করে

git add .gitignore

সমর্পণ করা

git commit -m 'Removed .idea folder'

রিমোটে ধাক্কা

git push origin master

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