গিট উপেক্ষা করে এবং মাভেন লক্ষ্যগুলি


117

গিট দ্বারা পরিচালিত কোনও ফাইল গঠনে কোনও নির্দিষ্ট ডিরেক্টরিতে সমস্ত দৃষ্টান্ত উপেক্ষা করা সম্ভব কিনা তা যে কেউ জানেন।

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

এটা কি সম্ভব?


আপনি কোন কনফিগারেশন দিয়ে এই কাজটি করছেন? /.settings/ কেবল 'xxx / .settings / *' কে অগ্রাহ্য করবে, '.settings / *' বা 'xxx / yyy / .settings / *': উপেক্ষা করার ধরণগুলি পুনরাবৃত্তভাবে প্রয়োগ করা হবে বলে মনে হয় না। স্ট্যাকওভারফ্লো . com/ প্রশ্নগুলি / 971465/… দেখুন ।
ভনসি

উত্তর:


98

কোনও .gitignoreফাইলে প্যাটার্ন ব্যবহার করা সম্ভব । দেখুন gitignore man পৃষ্ঠা । প্যাটার্নটি */target/*লক্ষ্যযুক্ত কোনও ডিরেক্টরি এবং এর অধীনে থাকা কোনও কিছুকে উপেক্ষা করবে ignore অথবা আপনি */target/**লক্ষ্যবস্তুতে সমস্ত কিছু উপেক্ষা করার চেষ্টা করতে পারেন।


4
ধন্যবাদ! এখানে অন্য কারও জন্য, ব্যবহারকারীর মেভেন এবং গ্রহন সন্দেহভাজনদের এড়িয়ে যাওয়ার জন্য .gitignore এর বিষয়বস্তু। টার্গেট / * / টার্গেট / .মেডাটাটা টার.gz। ক্লাসপাথ .প্রকল্প * /। সেটিংস /
সাগরগান

3
আপনি কোন কনফিগারেশন দিয়ে এই কাজটি করছেন? /.settings/ কেবল 'xxx / .settings / *' কে অগ্রাহ্য করবে, '.settings / *' বা 'xxx / yyy / .settings / *': উপেক্ষা করার ধরণগুলি পুনরাবৃত্তভাবে প্রয়োগ করা হবে বলে মনে হয় না। স্ট্যাকওভারফ্লো . com/ প্রশ্নগুলি / 971465/… দেখুন ।
ভনসি

6
মাল্টি-মডিউল প্রকল্পগুলির জন্য আপনি ** / লক্ষ্য / ব্যবহার করতে চাইতে পারেন তবে উত্সগুলিতে বৈধ "টার্গেট" ডিরেক্টরিগুলি বাদ না দেওয়ার বিষয়ে সতর্ক হন
বোগদান

1
/target/**\.git\info\excludeএকটি ভাল ফাইল কাজ করে ।
অভিজিৎ

এর একটি মডিউলটিতে কেবল "টার্গেট" সাবপ্যাকেজ সহ একটি জাভা প্রকল্প করার চেষ্টা করেছেন। :(
Okutane

222

.gitignoreরুট ডিরেক্টরিটি ফাইল নেই সমস্ত সাব-প্রয়োগ করা হয়। আমার এইরকম দেখাচ্ছে:

.classpath
.project
.settings/
target/

এটি একটি মাল্টি-মডিউল মাভেন প্রকল্পে। সমস্ত সাবমডিউলগুলি এম 2 স্লিপস ব্যবহার করে স্বতন্ত্রগ্রহণ প্রকল্প হিসাবে আমদানি করা হয়। আমার আর কোনও .gitignoreফাইল নেই। সত্যই , আপনি যদি গিটিগনোর ম্যান পৃষ্ঠাতে দেখেন :

প্যাটার্নগুলি .gitignoreএকই ডিরেক্টরিতে কোনও ফাইল থেকে পড়ার মতো পথ, বা কোনও প্যারেন্ট ডিরেক্টরিতে

সুতরাং এটি আপনার জন্য কাজ করা উচিত।


5
এটি ' / টার্গেট / ' এর চেয়ে ভাল উত্তর । এটি ডিরেক্টরিতে যেখানে এটি ডিরেক্টরিতে থাকে সেখানে এটি কোনও ডিরেক্টরি বাদ দেয় না। কিন্তু এটা ফাইলের জন্য কাজ করবে না (দেখুন stackoverflow.com/questions/971465/... )
VonC

3
যদি আপনি এটি পড়া চালিয়ে যান তবে "এই নিদর্শনগুলি .gitignore ফাইলের অবস্থানের সাথে মিলে যায়।" আপনার উত্তরটি ভুল ...
ব্যবহারকারী 1387219

আমি এই পদ্ধতিটি ব্যবহার করি এবং সমস্ত মেভেন বিল্ড ফোল্ডারগুলি উপেক্ষা করার জন্য "টার্গেট /" ব্যবহার করি, তবে সতর্কতা অবলম্বন করুন যে আপনি তাদের পথে "টার্গেট" ফোল্ডারযুক্ত প্যাকেজের মধ্যে থাকা কোডগুলিকে উপেক্ষা করার ঝুঁকিপূর্ণ হন। (নিম্নলিখিত ক্লাসগুলির সাথে একটি প্রকল্পে: src/main/java/org/example/game/archery/bow/LongBow.java এবং src/main/java/org/example/game/archery/target/Target.java, আপনার লংবোর সাথে এমন .gitignore কনফিগারেশন :-) সহ আঘাত করতে কিছুই পাবেন না)
ক্রিশ্চিয়ানো কোস্টান্টিনি

4

অভিজিৎ এর মন্তব্যে যেমন ইতিমধ্যে ইঙ্গিত করা হয়েছে আপনি ঠিক তেমন লাইন যুক্ত করতে পারেন:

/target/**

থেকে বাদ ফাইল \.git\info\ফোল্ডার।

তারপরে আপনি যদি targetআপনার রিমোট রেপোতে সেই ফোল্ডারটি থেকে মুক্তি পেতে চান তবে আপনাকে প্রথমে নিজের ফোল্ডারটি নিজের স্থানীয় সংগ্রহস্থল থেকে ম্যানুয়ালি মুছে ফেলতে হবে, প্রতিশ্রুতিবদ্ধ হবে এবং তারপরে এটি চাপ দিতে হবে। Thats কারণ গিট আপনাকে প্রথমে সংশোধিত হিসাবে কোনও লক্ষ্য ফোল্ডারের সামগ্রী প্রদর্শন করবে।


2

আমি গিট থেকে লক্ষ্য ফোল্ডারে থাকা সমস্ত শ্রেণিকে উপেক্ষা করি। .gitignore ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন:

/ .ক্লাস

অথবা

* / লক্ষ্য / **

এটা আমার জন্য নিখুঁতভাবে কাজ করছে। এটি চেষ্টা করুন।


0

সমস্ত অবাঞ্ছিত ফাইল থেকে, গিটিগনারে নিম্নলিখিত লাইনগুলি যুক্ত করুন

/target/
*/target/**
**/META-INF/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.