কিভাবে গিটকে উপেক্ষা করবেন। রুবিমাইন দ্বারা নির্মিত ফাইলগুলি ignore


183

আমি রেল প্রকল্পগুলির জন্য রুবাইমিন ব্যবহার করি। খুব প্রায়শই, রুবাইমিনে .idea/*ফাইলগুলিতে এমন পরিবর্তন আসে যা আমি পছন্দ করি না। তবে এটি আমাকে নতুন শাখা পরীক্ষা করা থেকে বিরত রাখে এবং .idea/আমার সহকর্মীদের থেকে আমার সংস্করণটিকে আলাদা করে দেয়।

আমরা ইতিমধ্যে যোগ .idea/করার .gitignore, কিন্তু এটা ট্র্যাকিং পরিবর্তন রাখে .idea। আমি কীভাবে এটি সঠিকভাবে করব?

নীচে আমি পেয়েছি একটি সাধারণ ত্রুটি বার্তা:

error: Your local changes to the following files would be overwritten by checkout:
    .idea/workspace.xml

9
সম্ভবত আপনি ইতিমধ্যে comitted; আপনি গিট rm প্রয়োজন; উপেক্ষা করার জন্য এটি যোগ করুন।
কান ইয়ে

উত্তর:


254

শুধু .idea/আমার জন্য কাজ করে


5
হাই! আপনি কীভাবে আমাদের আরও কিছু বলতে চান ... আমার জন্য কাজ করছেন না? :(
YoniGeek

গিট তার চেয়ে কিছুটা আলাদাভাবে কাজ করে। দেখুন Git man পৃষ্ঠা আরও তথ্যের জন্য।
স্টিভ বেনার

4
@ ব্র্যাডবার্ড আমি কেবল এটি চেষ্টা করেছি - সাবফোল্ডারগুলির জন্যও কাজ করে। এছাড়াও আপনি একটি চেষ্টা করতে চাইতে পারেন**/.idea/
the_জোরিক

21
সমস্যাটির অংশটি হ'ল যদি আপনি ইতিমধ্যে আপনার স্টাফ মঞ্চস্থ করেছেন তবে .gitignore সাহায্য করবে না।
ড্যান রোজনস্টার্ক

12
আপনি যদি ফাইল / ফোল্ডারগুলিকে যুক্ত / চেক করার পরে তা উপেক্ষা করতে চান তবে আপনাকে সেগুলি "গিট আরএম -আর - ক্যাশেড ওয়েব / আপলোডস" দিয়ে মুছে ফেলতে হবে (এই উদাহরণে আমি "ওয়েব / আপলোডস" ফোল্ডারটি .gigignore এ যুক্ত করেছি : পরে ফাইল তারা চেক ইন করা হয়েছে) উৎস help.github.com/articles/ignoring-files
দুং

310

git rm -r --cached .ideaআপনার টার্মিনালে চেষ্টা করুন । এটি পরিবর্তন ট্র্যাকিং অক্ষম করে।


2
অনেক ধন্যবাদ! তবে কেন এটি সম্পূর্ণরূপে খালি সংগ্রহস্থল চেকআউট করার পরে ক্যাশে রয়েছে?
বুদি

1
ধন্যবাদ, অত্যন্ত দরকারী। ফাইলগুলি সরানোর জন্য এটি ব্যবহার করুন তারপরে গিটিগনরে .idea যুক্ত করুন এবং এটি দুর্দান্ত কাজ করেছে। তোমাকে অনেক ধন্যবাদ!
টিম আর

.Idea ফোল্ডারটি ইতিমধ্যে ট্র্যাকিংয়ের অধীনে থাকলে এটি সত্যই কার্যকর হয় না
ACV

সুতরাং যদি ফোল্ডারটি ইতিমধ্যে গিটটিতে ট্র্যাক করা হচ্ছে তবে .idea / to .gitignore যোগ করার পরে গিটটিকে ট্র্যাক করা বন্ধ করবে না। আপনাকে প্রথমে "git rm -r --cached .idea" করতে হবে, তারপরে .idea / আপনার .gitignore এ যুক্ত করুন। এটি আমার কাছে দুর্দান্ত হবে।
Sam003

41

নোট করুন যে জেটব্রেইনগুলি "আপনি যদি অন্য বিকাশকারীদের সাথে আইডিই প্রকল্প ফাইলগুলি ভাগ করে নেওয়ার সিদ্ধান্ত নেন ..." এর পরামর্শ দেন, নিম্নলিখিত তিনটি ফাইল ব্যতীত সমস্ত .idea/*ফাইল ট্র্যাক করে :

  • workspace.xml
  • usage.statistics.xml
  • tasks.xml

সুতরাং তাদের পরামর্শ অনুসরণ করতে, আপনি those ফাইলগুলি আপনার .gitignore এ যুক্ত করবেন।


উৎস:

আপনি যদি অন্য বিকাশকারীদের সাথে আইডিই প্রকল্প ফাইলগুলি ভাগ করে নেওয়ার সিদ্ধান্ত নেন তবে এই নির্দেশিকাগুলি অনুসরণ করুন:
...
আপনার যা ভাগ করা দরকার তা এখানে:

  • প্রকল্পের root- র মধ্যে .idea ডিরেক্টরি অধীনে সব ফাইল ছাড়া workspace.xml , usage.statistics.xml এবং tasks.xml ফাইল যা ব্যবহারকারী দোকান নির্দিষ্ট সেটিংস
  • ...

সংস্করণ নিয়ন্ত্রণ সিস্টেম ( সংরক্ষণাগার ) এর আওতায় প্রকল্পগুলি কীভাবে পরিচালনা করবেন

সেই পৃষ্ঠায় কিছু অতিরিক্ত নোট রয়েছে যা সম্পর্কে অন্যান্য নির্দিষ্ট ফাইলগুলি বিভিন্ন নির্দিষ্ট জেটব্রেন আইডিই এবং বিল্ডগুলির জন্য গিটিগনোর করতে পারে।


10
যদিও আমি এই উত্তরটির সাথে একমত [[নির্ভুলতার জন্য +1]], আমি মনে করি যে দলগুলি আইডিইগুলির সাথে কঠোর নয় এবং সেগুলি .ideaফোল্ডারে যাচাই না করে পালিয়ে যেতে পারে ... যাইহোক, ফাইলগুলি আমার কাছে কখনই বোধগম্য হয়নি সেখানে সবসময় দ্বিধা-দ্বন্দ্বের কারণে কোনও কারণ নেই।
জ্যাকএক্সজেট

6
আইডিই নির্দিষ্ট ফাইল প্রতিশ্রুতিবদ্ধ করা খারাপ অভ্যাস। একটি কারণ হ'ল বিভিন্ন বিকাশকারী বিভিন্ন সরঞ্জাম ব্যবহার করতে পারেন। আর একটি হ'ল এই ফাইলগুলিতে ব্যবহারকারীর নির্দিষ্ট কনফিগারেশন থাকতে পারে যা সর্বদা সংঘাত পেতে পারে।
জর্ডান সিলভা

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

1
যদিও আমি সম্মত হব যে অন্ধভাবে আইডিই ফাইলগুলি করা কমপক্ষে একটি খারাপ ধারণা যা কারণ অন্ধভাবে কোনও কিছু করা একটি খারাপ ধারণা। কিছু পরিস্থিতিতে আইডিই ফাইলগুলি ভাগ করে নেওয়া ভালভাবে কাজ করতে পারে। কনটেইনার অর্কেস্টেশন ফাইলগুলি ভাগ করে নেওয়ার মতো ধারণাটি হ'ল এগুলি অ্যাপ্লিকেশন চালানোর এক উপায়। আইডিই ফাইলগুলি যেমন প্রকল্পটি বিকাশের এক উপায় এবং তাতে কীভাবে ইউনিট পরীক্ষা বা কোড কভারেজ কমান্ড চালাতে হয় তা নির্দিষ্ট আইডিইর জন্য ঝরঝরেভাবে আবৃত করার মতো দরকারী সংজ্ঞা থাকতে পারে। বেশিরভাগ .ideaফাইল (কমপক্ষে পাইচার্মে) ভাগ করে নেওয়ার জন্য তৈরি করা হয়েছে।
স্যামুয়েল হারমার

26

.idea/*সমস্ত .idea ফাইল, ডিরেক্টরি এবং উপ-সংস্থানগুলির ট্র্যাকিং রোধ করতে আপনার বর্ধিত তালিকায় যুক্ত করুন ।


24

যদি কোনও ফাইল ইতিমধ্যে গিট দ্বারা ট্র্যাক করা থাকে তবে .gitignore এ ফাইলটি যুক্ত করা গিটকে এটি অনুসরণ করা বন্ধ করবে না। আপনাকে প্রথমে গিট আরএম করা আপত্তিজনক ফাইল (গুলি) করতে হবে, তারপরে আপনার .gitignore এ যুক্ত করুন।

.Idea যুক্ত করা / কাজ করা উচিত


এটি আরও ব্যাপক উত্তর হওয়া উচিত!
Sam003

21

ব্যবহার git rm -r --cached .ideaআপনার টার্মিনালে আমার জন্য কাজ করে মহান। এটি পরিবর্তন ট্র্যাকিং অক্ষম করে এবং রুবাইমিন ফোল্ডার (আইডিয়া /) এর অধীনে বেশ কয়েকটি ফাইল আনসেট করে যা আমি তখন যোগ করতে এবং গিট করতে প্রতিশ্রুতিবদ্ধ করতে পারি, এইভাবে তুলনাটি সরিয়ে এবং গিটিগনোরের সেটিংটি .idea/কাজ করার অনুমতি দেয় ।


13

টার্মিনালে পিএইচপি ঝড় বন্ধ করুন প্রকল্প ফোল্ডারের ধরণে যান

git rm -rf .idea; git commit -m "delete .idea"; git push;

তারপরে প্রজেক্ট ফোল্ডারে যান এবং ফোল্ডারটি মুছে দিন ide

sudo rm -r .idea/

পিএইচপিস্টোরম শুরু করুন এবং আপনার কাজ শেষ হয়েছে


12

রুবাইমিন গুইতে একটি উপেক্ষা তালিকা (সেটিংস / সংস্করণ নিয়ন্ত্রণ) রয়েছে। সেখানে এটি নিষ্ক্রিয় করার চেষ্টা করুন। আমি তাদের সমর্থনকারীদের কাছ থেকে ইঙ্গিতটি পেয়েছি।

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



8

আমি রুবাইমিনে স্যুইচ করতে খুব বেশি সময় কাটেনি, তবুও আমি এটিকে উপেক্ষা করা চ্যালেঞ্জের বলে মনে করেছি Rub

এখানে আমি এটি ঠিক করেছি

আপনি যদি কোনও মঞ্চায়ন / প্রতিশ্রুতি আদায় না করেন বা আপনি রুবি খনিতে একটি নতুন প্রকল্প সজ্জিত করেন তবে কেবল এটি করুন

বিকল্প 1

.Gitignore ফাইলটিতে নীচের লাইনটি যুক্ত করুন যা সাধারণত আপনার সংগ্রহস্থলের গোড়ায় রাখা হয়।

# Ignore .idea files
.idea/

এটি নিশ্চিত করবে যে সমস্ত .idea ফাইলগুলি গিট দ্বারা ট্র্যাক করা থেকে উপেক্ষা করা হবে, যদিও তারা স্থানীয়ভাবে এখনও আপনার প্রকল্প ফোল্ডারে থাকবে।

বিকল্প 2

তবে আপনি যদি কিছু স্টেজিং / প্রতিশ্রুতিবদ্ধ হয়ে থাকেন বা আপনি কেবল রুবি খনিতে একটি বিদ্যমান প্রকল্প চালু করেছেন, তবে কেবল এটি করুন

আপনার টার্মিনাল / কমান্ড লাইনে কোডটি চালান

git rm -r --cached .idea

এটি ইতিমধ্যে গিটে ট্রাইড .idea ফাইলগুলি মুছে দেয়

এরপরে .gaignore ফাইলটিতে .idea / অন্তর্ভুক্ত করুন যা সাধারণত আপনার সংগ্রহস্থলের গোড়ায় রাখা হয়।

# Ignore .idea files
.idea/

এটি নিশ্চিত করবে যে সমস্ত .idea ফাইলগুলি গিট দ্বারা ট্র্যাক করা থেকে উপেক্ষা করা হবে, যদিও তারা স্থানীয়ভাবে এখনও আপনার প্রকল্প ফোল্ডারে থাকবে।

বিকল্প 3

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

আপনার টার্মিনাল / কমান্ড লাইনে কোডটি চালান

git rm -r --cached .idea

এটি ইতিমধ্যে গিটে ট্রাইড .idea ফাইলগুলি মুছে দেয়

আপনার টার্মিনাল / কমান্ড লাইনে কোডটি চালান

rm -r .idea

এটি স্থানীয়ভাবে ফোল্ডার সহ সমস্ত .idea ফাইল মুছে দেয়

এরপরে .gaignore ফাইলটিতে .idea / অন্তর্ভুক্ত করুন যা সাধারণত আপনার সংগ্রহস্থলের গোড়ায় রাখা হয়।

# Ignore .idea files
.idea/

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

এখানেই শেষ

আশা করি এটা কাজে লাগবে


4

আমার কাছে কেবল একটি ফাইল সমাধান করা ছিল। "প্রতিশ্রুতিবদ্ধ ফাইল .gitignore" সাথে .idea ফোল্ডার অপসারণ এবং আইডিই আবার ব্যবহার করার চেয়ে


হাই! আমি এই চেষ্টা! কিন্তু আইডিই আমার ফাইলগুলি আবার লোড করতে পারে না ... আপনি এটি কীভাবে করলেন? ধন্যবাদ!
YoniGeek

4

আমি পড়া করার পরামর্শ দিই Git man পৃষ্ঠা সম্পূর্ণরূপে বুঝতে কিভাবে কাজ উপেক্ষা করা, এবং ভবিষ্যতে আপনি আমাকে ধন্যবাদ করব;)

আপনার সমস্যার সাথে সম্পর্কিত:

Two consecutive asterisks ("**") in patterns matched against full pathname may have special meaning:

A leading "**" followed by a slash means match in all directories. For example, "**/foo" matches file or directory "foo" anywhere, the same     as pattern "foo". "**/foo/bar" matches file or directory "bar" anywhere that is directly under directory "foo".

A trailing "/**" matches everything inside. For example, "abc/**" matches all files inside directory "abc", relative to the location of the .    gitignore file, with infinite depth.

A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, "a/**/b" matches "a/b", "a/x/b",     "a/x/y/b" and so on.

Other consecutive asterisks are considered invalid.

4

আপনি উন্নত গিটিগনোর ফাইল জেনারেশনের জন্য গিটিগনোর ব্যবহার করতে পারেন । এটি দ্রুত, সহজ এবং কাটিয়া প্রান্তের ট্যাগগুলি আপনার জন্য স্বয়ংক্রিয়ভাবে উত্পন্ন হয়।

বেশিরভাগ জেটব্রাইন সফটওয়্যারগুলির জন্য এই লিঙ্কটি ব্যবহার করুন ( ইন্টেলিজ , পিএইচপিস্টর্ম ...) জেটব্রাইনস। গিটগনোর ফাইল

[সম্পাদনা]

নীচে জেটব্রাইন সফটওয়্যারগুলির জন্য উত্পন্ন গিটিগনোর ফাইল রয়েছে, এটি আপনাকে প্রকল্প পরিচালনার জন্য জেটব্রাইন সফ্টওয়্যারের যে কোনও সংবেদনশীল তথ্য (পাসওয়ার্ড, কীস্টোর, ডিবি পাসওয়ার্ড ...) ভাগ করা থেকে বিরত করবে।

# Created by https://www.gitignore.io

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

উত্পন্ন কোডও ভাল মন্তব্য করা হয়। আশা করি এটি সাহায্য করবে :)


যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
হিমাংশু

@ হিমাংশু লিঙ্কটি গিটিগনোর ফাইলগুলির একটি অনুসন্ধান ইঞ্জিনের। আপনি কি পরামর্শ দেন যে এটি থেকে পোস্টে অনুলিপি করা উচিত?
ড্যান ডি

4

আমি এই ফাইলগুলিকে আমার মধ্যে যুক্ত করার চেষ্টা করেছি .gitignoreএবং এটি অকেজো ...

তবুও, পেট্র সিরিভ যেমন বলেছিলেন, আপনি git rm -r --cached .ideaনিজের টার্মিনালটিতে ব্যবহার করতে পারেন এবং সেই ফাইলগুলি আর কোনও সমস্যা হবে না!



2

কি হবে .idea/*? পরীক্ষা করেনি, তবে এটি করা উচিত


1

.Ignore প্লাগইন ব্যবহার করুন : https://plugins.jetbrains.com/plugin/7495--ignore

এটি স্বয়ংক্রিয়ভাবে আপনার জন্য প্রচুর পথ / নিদর্শন পরিচালনা করে এবং অনেকগুলি অতিরিক্ত অতিরিক্ত বৈশিষ্ট্যও রয়েছে। এটি এর সাথে সামঞ্জস্যপূর্ণ:

  • ইন্টেলিজ আইডিইএ
  • PhpStorm
  • WebStorm
  • PyCharm
  • RubyMine
  • AppCode
  • Clion
  • GoLand
  • DataGrip
  • চড়নদার
  • এমপিদের
  • অ্যান্ড্রয়েড স্টুডিও

0

যদি আপনি ইতিমধ্যে প্রাথমিক প্রতিশ্রুতিবদ্ধ হয়ে থাকেন এবং আপনার কাছে .idea ফাইলগুলি গিটের মধ্যে নতুন ফাইল হিসাবে প্রদর্শিত হয়, আপনাকে প্রথমে ফাইলগুলি সরিয়ে ফেলা এবং তারপরে তাদের প্রতিশ্রুতিবদ্ধ করতে হবে। নিম্নলিখিত পদক্ষেপগুলি কৌশলটি করবে

 1. git rm --cached -r .idea/
 2. Add .idea/ to **.git/info/exclude** or **.gitignore**
 3. git commit -m 'ignore .idea/ files'

এটি এখানে এই লিঙ্কে বিশদভাবে ব্যাখ্যা করা হয়েছে: https://devconnected.com/how-to-clear-git-cache/

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