.Gitignore দ্বারা কোন নির্দিষ্ট ফাইল উপেক্ষা করা হবে তা দেখানোর জন্য গিট কমান্ড


644

আমি গিট দিয়ে আমার পা ভিজে যাচ্ছি এবং নিম্নলিখিত সমস্যাটি রয়েছে:

আমার প্রকল্প উত্স ট্রি:

/
|
+--src/
+----refs/
+----...
|
+--vendor/
+----...

আমার বিক্রেতার শাখায় আমার কোড (বর্তমানে এমইএফ) রয়েছে যা আমি সেখানে সংকলন করব এবং তারপরে রেফারেন্সগুলিকে স্থানান্তর /src/refsকরব যেখানে প্রকল্পটি তাদের কাছ থেকে নিয়ে আসে।

আমার বিষয়টি হ'ল আমি .gitignoreউপেক্ষা করার জন্য আমার সেট রেখেছি *.dllএবং *.pdb। আমি git add -f bar.dllউপেক্ষা করা ফাইলটি যুক্ত করার জন্য জোর করার জন্য একটি করতে পারি যা ঠিক আছে, সমস্যাটি হ'ল কোন ফাইল উপস্থিত রয়েছে তা উপেক্ষা করে তা তালিকাভুক্ত করতে পারছি না।

আমি এগুলি যুক্ত করতে ভুলবেন না তা নিশ্চিত করতে আমি উপেক্ষা করা ফাইলগুলির তালিকা করতে চাই।

আমি ম্যান পৃষ্ঠাটি পড়েছি git ls-filesএবং এটি কার্যকর করতে পারি না। আমার কাছে মনে হয় যা করা git ls-files --exclude-standard -iউচিত তা করা উচিত। আমি কী মিস করছি?


12
আজকাল, আপনি গিট-
এলএস

7
আমি আপনার সাথে রিয়াদের উত্তরটি সঠিক হিসাবে যাচাই করার জন্য অনুরোধ করছি কারণ এটিই কেবলমাত্র একমাত্র এটিই স্বীকার করে যা এখানে প্রদর্শিত গিট কমান্ডগুলি ( ট্রিক সহ ) ব্যবহার করার কোনও গ্যারান্টিযুক্ত উপায় নেই । এছাড়াও, আমি আপনার সারাংশের "বাদ পড়ুন" উদাহরণের বিরুদ্ধে সুপারিশ করছি যেহেতু প্রকৃতপক্ষে কোনও .gitignore ফাইলগুলিতে মনোযোগ দেয় না। আমি এটি বিশেষত জিজ্ঞাসা করছি কারণ এই পৃষ্ঠাটি গুগলের সর্বোচ্চ প্রতিক্রিয়া। git clean
আলেকজান্ডার বার্ড

"কী কাজ করে তার সংক্ষিপ্তসার" এর দ্রুত পয়েন্ট: "গিট এলএস-ফাইলস" ম্যান পৃষ্ঠাটি ব্যাখ্যা করে যে "-i" এর অর্থ এলএস আউটপুটটির জন্য বাদ দেওয়া ফাইলগুলি অন্তর্ভুক্ত রয়েছে। 'ধীরে ধীরে' পড়া না হওয়া পর্যন্ত আমার একই ভুল বোঝাবুঝি হয়েছিল। ;-)
হবে

2
উত্তরগুলির উত্তর পোস্টে যাওয়া উচিত, প্রশ্নের কোনও সম্পাদনায় নয়।
ফ্লিম

আমার কাছে আছে git config --global alias.ls ls-files --exclude-standard, এবং এটি এই প্রশ্নের উত্তর দেয় git ls -i
jthill

উত্তর:


661

মন্তব্য:


এছাড়াও আকর্ষণীয় (উল্লেখিত qwertymk এর উত্তর ), তবে আপনাকে ব্যবহার করতে পারেন git check-ignore -vকমান্ড ইউনিক্স উপর অন্তত ( কাজ না করে একটি সিএমডি মধ্যে উইন্ডোজ সময়)

git check-ignore *
git check-ignore -v *

দ্বিতীয়টি প্রকৃত নিয়ম প্রদর্শন করে .gitignoreযা কোনও ফাইলকে আপনার গিট রেপোতে উপেক্ষা করা যায়।
ইউনিক্সে, " বর্তমান ডিরেক্টরিতে পুনরাবৃত্তভাবে সমস্ত ফাইলের মধ্যে কী প্রসারিত হয়? " এবং একটি বাশ 4 + ব্যবহার করে:

git check-ignore **/*

(বা একটি find -execআদেশ)

নোট: https://stackoverflow.com/users/351947/Rafi বি প্রস্তাব দেওয়া মন্তব্যে করার (ঝুঁকিপূর্ণ) globstar এড়াতে :

git check-ignore -v $(find . -type f -print)

.git/সাবফোল্ডার থেকে ফাইলগুলি বাদ দেওয়ার বিষয়টি নিশ্চিত করুন ।


আসল উত্তর 42009)

git ls-files -i

এর উত্স কোডটি নির্দেশ করে ব্যতীত কাজ করা উচিত :

if (show_ignored && !exc_given) {
                fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
                        argv[0]);

exc_given ?

দেখা যাচ্ছে -iযে আসলে কিছু তালিকাভুক্ত করার পরে এর আরও একটি প্যারামিটার প্রয়োজন :

চেষ্টা করুন:

git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore

(তবে এটি কেবল আপনার ক্যাশেড (অবহেলিত) কোনও ফিল্টারের সাথে তালিকাবদ্ধ করবে, যাতে আপনি যা চান তা একেবারেই নয়)


উদাহরণ:

$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
    --exclude='Documentation/*.[0-9]' \
    --exclude-from=.git/ignore \
    --exclude-per-directory=.gitignore

আসলে, আমার 'gitignore' ফাইল (যাকে 'বাদ দিন' বলা হয়) তে আমি একটি কমান্ড লাইন পেয়েছি যা আপনাকে সহায়তা করতে পারে:

F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

তাই ....

git ls-files --others --ignored --exclude-from=.git/info/exclude
git ls-files -o -i --exclude-from=.git/info/exclude

git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard

কৌতুক করা উচিত।

হিসাবে উল্লেখ LS-ফাইল man পৃষ্ঠা , --othersযাতে তোমরা অ ক্যাশে দেখানোর জন্য, অ অঙ্গীকারবদ্ধ, সাধারণত উপেক্ষা-ফাইলের মধ্যে, গুরুত্বপূর্ণ অংশ।

--exclude_standardকেবল একটি শর্টকাট নয়, সমস্ত স্ট্যান্ডার্ড "উপেক্ষিত নিদর্শন" সেটিংস অন্তর্ভুক্ত করার একটি উপায় ।

exclude-standard
: মান Git বহিষ্কার যোগ করুন .git/info/exclude, .gitignoreপ্রতিটি ডিরেক্টরির মধ্যে, এবং user's global exclusion file


@ ভোকিসি, এই পরীক্ষাগুলি সম্পর্কে আমার বোঝাপড়া থেকে , আপনি উপরে যে উত্তরটি সুপারিশ করেছেন তাতে কেবল বড় ত্রুটি থাকতে পারে। এজন্য আমি সাধারণত পরিবর্তে রিয়াদের উত্তরটি সুপারিশ করব ।
আলেকজান্ডার বার্ড

2
যেহেতু গিট ভি ২.১৩.২ রিলিজ: git status --ignoredমনে হচ্ছে এটি অপ্র্যাক্ট করা ফাইলগুলিও দেখায়: github.com/git/git/blob/master/Docamentation/RelNotes/…
পাউ

1
বাহ, git check-ignore -v *দুর্দান্ত কাজ করে কারণ এটি দেখায় যে কনফিগারটি কোথায় প্রয়োগ হয়েছে। ধন্যবাদ.
হোয়াং ট্রান

@ মাইকডি * / ওয়ার্কটি তৈরি করতে (বা বাস্তবে আপনি কেবল ** করতে পারেন) আপনার গ্লোবস্টার সেট করার দরকার shopt -s globstarপরে এটি কাজ করা উচিত।
বেদ

: সক্রিয় (ঝুঁকিপূর্ণ) globstar ছাড়াgit check-ignore -v $(find . -type f -print)
রাফি

480

এটি করার অনেক সহজ উপায় রয়েছে (গিট ১..6..6++):

git status --ignored

দেখুন .gitignore ফাইলগুলির প্রভাব উপেক্ষা করার জন্য গিট-স্ট্যাটাস বলার কোনও উপায় আছে কি?


3
আপনি গিটের কোন সংস্করণ ব্যবহার করছেন? খনি (1.7.0.4) বলেছেন error: unknown option 'ignored'। এমনকি -sলিঙ্কযুক্ত পোস্টে পরামর্শ হিসাবে যুক্ত করাও কাজ করে না।
আলেকজান্ডার বার্ড

3
আমার সংস্করণটি 1.7.6। আর একটি সংস্করণ 1.7.5.1 এর প্রয়োজন -s। সমর্থিত git status -hকিনা --ignoredতা দেখার চেষ্টা করতে পারেন
Penghe Geng

1
আমি অনুমান করি যে কেবল 1.7.0.4 এ এখনও সমর্থিত নয়। আমার অন্যান্য কম্পিউটারে 1.7.9 রয়েছে এবং স্বাক্ষরযুক্ত পতাকাটি রয়েছে
আলেকজান্ডার বার্ড

4
আমি এই পৃষ্ঠায় প্রতিটি সমাধান চেষ্টা করেছিলাম। এটি সেরা এক। এটি ফাইল এবং ডিরেক্টরি উভয়ই দেখায়। এই প্রশ্নটি মূলত যখন জিজ্ঞাসা করা হয়েছিল তখন এই বৈশিষ্ট্যটি সম্ভবত ফিরে পাওয়া যায়নি। (যাইহোক, আপনি কমপক্ষে পরিবর্তনগুলি না করা পর্যন্ত এই সমাধানগুলির সমস্ত ব্র্যান্ডস নতুন "গিট ইন" দিয়ে সঠিকভাবে কাজ করবে না))
উইসবুকি

12
এটি অবশ্যই গৃহীত উত্তরের চেয়ে অনেক ভাল। এটি git clean -ndXসমাধানের চেয়েও বেশি নিরাপদ , কারণ দুর্লভ পরিস্থিতি যখন কেউ ভুলবশত পতাকাগুলি ভুলে যায় সেগুলি সংগ্রহস্থলের উপর একটি অপরিবর্তনীয় প্রভাব ফেলবে, যেহেতু আনট্র্যাকড ফাইলগুলি মুছে ফেলা হয়। সুতরাং এটি বিপজ্জনক। বিপরীতে git status --ignoredসর্বদা সুরক্ষিত, এমনকি ভুলক্রমে টাইপ করা হলেও এবং এটি মনে রাখা স্বাভাবিক।
আইওনিস ফিলিপিসিস

400

আর একটি বিকল্প যা বেশ পরিষ্কার (কোনও পাং উদ্দেশ্য নয়):

git clean -ndX

ব্যাখ্যা:

$ git help clean

git-clean - Remove untracked files from the working tree
-n, --dry-run - Don't actually remove anything, just show what would be done.
-d - Remove untracked directories in addition to untracked files.
-X - Remove only files ignored by Git.

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


নিফ্টি ... তবে আমি আসল প্রশ্নটি জিজ্ঞাসার কারণটি ছিল যাতে আমি নিশ্চিত করতে পারি যে যে বিক্রেতার ফাইলগুলি (* .dll) সেখানে থাকার কথা ছিল ... তাই সেগুলি মুছে ফেলা পছন্দসই ফলাফল হবে না। যাইহোক: এটি জেনে রাখা ভাল যেহেতু আমি * .dll এড়াতে আমার বিল্ড আউটপুট ফোল্ডারটিকে অগ্রাহ্য করার ক্ষেত্রে (তবে আমার বিক্রেতাদের ফোল্ডারগুলি নয়) পরিবর্তন করেছি know এটি একটি ভাল বিকল্প make cleanএবং একটি বিল্ড সার্ভারে খুব সহায়ক হবে।
অ্যান্ড্রু বার্নস

2
আমি গিট সংস্করণ ১.7.০.৪ ব্যবহার করছি এবং দুটি কমান্ড ('গিট এলএস-ফাইল -o -i - এক্সক্লুড-স্ট্যান্ডার্ড', 'গিট ক্লিন-ডিএক্সএন') সমতুল্য নয়। প্রথমটি আমাকে 4 টি ফাইল দেখায় এবং দ্বিতীয়টি কেবল দুটি করে। । আমি কি এখানে কিছু মিস করছি?
সিজার

@ ভনসি, মিষ্টি! ধন্যবাদ! @ সিজার, আমি নিশ্চিত নই আমি এর সাথে তেমন পরিচিত নই git ls-files -o -i --exclude-standardgit clean -dXnআমি যা চেয়েছিলাম তা সর্বদা ছিল তবে ইতিমধ্যে সরানো ফাইলগুলিকে উপেক্ষা করবে না। git ls-files -o -i --exclude-standardএটা করতে পারে। সুতরাং, এটি হতে পারে যা পার্থক্য সৃষ্টি করে।
ma11hew28

3
একটি ছোট জিনিস - এটি nদুর্ঘটনাক্রমে মুছে ফেলার প্রথম, কম সম্ভাবনাটি টাইপ করা ভাল ধারণা হতে পারে ; git clean -ndX
টোবিয়াস কোহেন

1
পছন্দ করুন আমি আপনার পরামর্শ দিয়ে উত্তর আপডেট করেছি। এটি নিরাপদ। যদিও, আপনি যদি ছেড়ে যান n, গিট ডিফল্ট হয় fatal: clean.requireForce defaults to true and neither -n nor -f given; refusing to clean। এখনও বেশ নিরাপদ, তবে nপ্রথম টাইপ করা আরও নিরাপদ! :)
ma11 শেইজ 28

39

সাধারণত আপনার সংশোধনটি সব পরিস্থিতিতে কার্যকর হয় না। এই জাতীয় রেপো দিরের মতো ধরুন:

# ls **/*                                                                                                       
doc/index.html  README.txt  tmp/dir0/file0  tmp/file1  tmp/file2

doc:
index.html

tmp:
dir0  file1  file2

tmp/dir0:
file0

এবং একটি .gitignore এর মত:

# cat .gitignore
doc
tmp/*

এটি docডিরেক্টরি এবং নীচের সমস্ত ফাইল উপেক্ষা করে tmp। গিট প্রত্যাশার মতো কাজ করে তবে উপেক্ষা করা ফাইলগুলির তালিকা দেওয়ার জন্য প্রদত্ত কমান্ডটি তা করে না। গিট কী বলবে তা একবার দেখে নেওয়া যাক:

# git ls-files --others --ignored --exclude-standard                                                            
tmp/file1
tmp/file2

docতালিকা থেকে অনুপস্থিত লক্ষ্য করুন । আপনি এটি দিয়ে পেতে পারেন:

# git ls-files --others --ignored --exclude-standard --directory                                                
doc/

অতিরিক্ত --directoryবিকল্পটি লক্ষ্য করুন ।

আমার জ্ঞান থেকে কোন আছে এক একবারে সব উপেক্ষিত ফাইল তালিকা কমান্ড। তবে কেন জানি না কেন tmp/dir0একেবারেই দেখা যাচ্ছে না।


2
এটি আমার কাছে যা চেয়েছিল তা পেয়েছে, অন্যরা (আমার নির্দিষ্ট ক্ষেত্রে) তা করেনি ... ধন্যবাদ! এটি দুটি কমান্ড চালাতে হতাশার সাথে যুক্ত হয়েছে, তবে একটি উপেক্ষা করা ডিরেক্টরি সহ - ডিরেক্টরি নির্দেশ অপশনটি আমাকে অন্তত খুঁজে পায় এবং আমি ফাইলগুলি সন্ধান করার জন্য এটি একটি ফাইন্ড কমান্ডের মধ্যে পাইপ করতে পারি। ধন্যবাদ!
লিন্ডস

এটি একবারে এটি করে এবং ডিরেক্টরিগুলি প্রসারিত করে:(git ls-files -oi --exclude-standard; git ls-files -oi --exclude-standard --directory) | perl -nle '$seen{$_}++||next;if(-d){system"find",$_,"-type","f"}else{print}'
Dee Newcum

17

গিটের এখন এই কার্যকারিতাটি অন্তর্নির্মিত

git check-ignore *

অবশ্যই আপনি **/*.dllআপনার ক্ষেত্রে যেমন কিছু পরিবর্তন করতে পারেন

গিট রেফারেন্স


7
git check-ignore **/*উপ
মিজিমার

এটি কেবল শীর্ষ স্তরের ডিক্রিটারিগুলি তালিকাভুক্ত করে।
Radon8472

13

এটি ব্যবহারের জন্য পর্যাপ্ত হওয়া উচিত

git ls-files --others -i --exclude-standard

যে দ্বারা আচ্ছাদিত সবকিছু আবরণ

git ls-files --others -i --exclude-from=.git/info/exclude

সুতরাং পরেরটি নিরর্থক।


আপনি আপনার ~/.gitconfigফাইলটিতে একটি উপনাম যুক্ত করে এটি আরও সহজ করে তুলতে পারেন :

git config --global alias.ignored "ls-files --others -i --exclude-standard"

এখন আপনি কেবল git ignoredতালিকাটি দেখতে টাইপ করতে পারেন। মনে রাখা অনেক সহজ এবং টাইপ করা দ্রুত।

আপনি যদি জেসন গেঞ্জের সমাধানটির আরও সাফল্যের প্রদর্শন পছন্দ করেন তবে আপনি এটির জন্য একটি উপাধি যুক্ত করতে পারেন:

git config --global alias.ignored "status --ignored -s"

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

git ignored | grep some-file-that-isnt-being-ignored-properly

তারপরে, যখন আপনি কেবল একটি সংক্ষিপ্ত প্রদর্শন দেখতে চান, এটি মনে রাখা এবং টাইপ করা যথেষ্ট সহজ

git status --ignored

( -sসাধারণত এটি ছেড়ে দেওয়া যায়।)


এটি কখনও আমার পক্ষে কাজ করেনি, কারণ আপনাকে সেই ফাইলগুলি ম্যানুয়ালি তালিকাভুক্ত করতে হবে। git status --ignoredডেবিয়ান সিডে কাজ করে তবে এটি খুব নতুন হতে পারে… তবে দৃশ্যমানভাবে এটি জনপ্রিয় চাহিদার কারণে যুক্ত হয়েছে ;-)
মীরাবিলোস

1
"ডেবিয়ান সিডে কাজ করে" আমি ধরে নিয়েছি আপনার মানে "গীবের সংস্করণটি ডেবিয়ান সিডে ডিফল্টরূপে ইনস্টল থাকা" এর সাথে কাজ করে? আপনার ডিস্ট্রোতে অন্তর্ভুক্ত ইউটিলিটির সংস্করণগুলি দ্বারা নিজেকে জিম্মি না বানানো আপনার সত্যই এড়ানো উচিত। আপনি এগুলি ডিস্ট্রো থেকে স্বতন্ত্রভাবে আপগ্রেড করতে পারেন।
আইকনোক্লাস্ট

12

গিটের একাধিক গিটিগনোর উত্সে (যেখানে আপনি জিএনইউ ব্যবহার করছেন find) যে কোনও জায়গায় অবস্থিত নিদর্শনগুলির সাথে মেলে এমন কার্যকারী বৃক্ষের ফাইলগুলির সম্পূর্ণ তালিকা কীভাবে মুদ্রণ করতে হবে তা এখানে :

$ cd {your project directory}
$ find . -path ./.git -prune -o -print \
| git check-ignore --no-index --stdin --verbose

এটি সংগ্রহস্থলের বর্তমান শাখার সমস্ত ফাইল চেক করবে (যদি না আপনি সেগুলি স্থানীয়ভাবে মুছে ফেলে)।

এবং এটি নির্দিষ্ট গিটিগনোর উত্স লাইনগুলিও সনাক্ত করে।

গিট কিছু ফাইলগুলিতে পরিবর্তনগুলি ট্র্যাক করে যা গিটাইনোরের ধরণগুলির সাথে মেলে, কেবলমাত্র সেই ফাইলগুলি ইতিমধ্যে যুক্ত করা হয়েছিল বলে। কার্যকরভাবে, উপরের কমান্ডটি সেই ফাইলগুলিও প্রদর্শন করে।

নেতিবাচক gitignore নিদর্শন এছাড়াও মেলে। যাইহোক, এগুলি তালিকায় সহজেই পার্থক্যযোগ্য, কারণ এগুলি শুরু হয় !

যদি আপনি উইন্ডোজ ব্যবহার করেন তবে গিট ব্যাশে জিএনইউ অন্তর্ভুক্ত রয়েছে find(যেমন প্রকাশ করেছেন find --version)।

যদি তালিকাটি দীর্ঘ হয় (এবং আপনার কাছে থাকে rev), আপনি এগুলি এক্সটেনশন (কিছুটা) দ্বারা প্রদর্শন করতে পারেন:

$ cd {your project directory}
$ find . -path ./.git -prune -o -print \
| git check-ignore --no-index --stdin --verbose \
| rev | sort | rev

আরো বিস্তারিত জানার জন্য দেখুন man find, man git-check-ignore, man rev, এবং man sort

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

সেরা উত্তর কি? এই উত্তরটি ইচ্ছাকৃতভাবে গিট জ্ঞানের উপর নির্ভরতা হ্রাস করেছে, পরিমিতি (তথ্য বিচ্ছিন্নতা) এর মাধ্যমে স্থায়িত্ব এবং সরলতার লক্ষ্য অর্জনের দিকে, এবং এটি দীর্ঘ সময় ধরে নকশাকৃত ।


অনেক ধন্যবাদ! আমার কিছু নতুন উত্স ফাইল মাঝে মধ্যে আমার কমিটগুলি থেকে কেন অনুপস্থিত ছিল তা জানার জন্য আমি লড়াই করে যাচ্ছিলাম। দেখা যাচ্ছে যে আমার একটি প্যাটার্ন রয়েছে: বিন *, আমি ভেবেছিলাম যে বিন দিয়ে শুরু হওয়া কেবল ফাইল / ডিরেক্টরিগুলির নামের সাথে মেলে তবে পরিবর্তে এটি কোনও ফাইল / ডিরেক্টরিের পুরো পথে বিন অন্তর্ভুক্ত এমন কোনও কিছুর সাথে মেলে! আমার ধারণা, আমার সমস্যাটি .gitignore এ প্যাটার্নের মিলের সঠিক শব্দার্থবিজ্ঞানের একটি ভুল বোঝাবুঝি থেকে আসে। আপনার 2-লাইনের স্ক্রিপ্টটি আমাকে এই ভুলটি খুঁজে পেতে সহায়তা করেছে!
নিকোলাস রউকেট

1

(অন্যান্য উত্তর প্রসারিত)

দ্রষ্টব্য, git check-ignoreপ্রতিশ্রুতিবদ্ধ .gitignoreএবং আপনার কার্যকারী গাছের মতো নয়! আপনার গিট ইতিহাস দূষিত না করে এটির সাথে খেলতে, আপনি নির্দ্বিধায় এটি সম্পাদনা করার চেষ্টা করতে পারেন এবং তারপরে একটি দিয়ে প্রতিশ্রুতিবদ্ধ git commit --amend

এই সমস্যাটি মূলত যদি আপনার সমস্যার সমাধানের প্রয়োজন হয় তবে এই গিটটি ডিরেক্টরিগুলি অনুসরণ করে না। প্রবেশ করুন .gitignore:

dirtokeep/**
!dirtokeep/.keep

.keepএর মধ্যে একটি শূন্য দৈর্ঘ্যের ফাইল হওয়া উচিত dirtokeep

ফলে হতে হবে সবকিছু মধ্যে dirtokeepউপেক্ষা করা হবে, ছাড়া dirtokeep/.keep , যা হবে যে dirtokeepডিরেক্টরি ক্লোন / চেকআউট উপর নির্মাণ করা হবে।


0

ধরে নেওয়া হচ্ছে যে কয়েকটি উপেক্ষা করা ডিরেক্টরি রয়েছে, কেন "গিট স্ট্যাটাস নোড / লগস /" ব্যবহার করবেন না যা আপনাকে কী ফাইল যুক্ত করতে হবে তা বলবে? ডিরেক্টরিতে আমার কাছে একটি পাঠ্য ফাইল রয়েছে যা স্থিতি আউটপুটের অংশ নয়, যেমন:

শাখা মাস্টারে
আপনার শাখা 'উত্স / মাস্টার' দিয়ে আপ-টু-ডেট।
অবিরত ফাইলগুলি:
(প্রতিশ্রুতিবদ্ধ হবে কি অন্তর্ভুক্ত করতে "গিট অ্যাড ..." ব্যবহার করুন)

    node/logs/.gitignore 

.gitignore হ'ল:

*

! .gitignore

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