git - গিট: শুধুমাত্র "অট্যাকড" ফাইল তালিকা(এছাড়াও, কাস্টম কমান্ড)




git-status git-rm (6)

শুধুমাত্র অট্যাকড ফাইলগুলি দেখানোর জন্য git ls-files কমান্ড ব্যবহার করার উপায় আছে কি?

আমি জিজ্ঞাসা করছি কারণ আমি সব মুছে ফেলা ফাইল প্রক্রিয়া করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন:

git ls-files -d | xargs git rm

আমি অপ্রত্যাশিত ফাইলগুলির জন্য অনুরূপ কিছু চাই

git some-command --some-options | xargs git add

আমি git ls-files করতে -o বিকল্পটি খুঁজে পেতে সক্ষম হয়েছিলাম, কিন্তু এটি আমি যা চাই তা নয় কারণ এটিও উপেক্ষা করা ফাইলগুলি দেখায়। আমি নিম্নলিখিত দীর্ঘ এবং কুৎসিত কমান্ড সঙ্গে আসতে সক্ষম ছিল:

git status --porcelain | grep '^??' | cut -c4- | xargs git add

মনে হচ্ছে এখানে একটি ভাল কমান্ড থাকতে হবে যা আমি এখানে ব্যবহার করতে পারি। এবং যদি না থাকে, তবে আমি কীভাবে কাস্টম গিট কমান্ড তৈরি করব?


অট্যাকড ফাইলগুলি তালিকাবদ্ধ করার চেষ্টা করুন:

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

যদি আপনি xargs এ আউটপুট পাইপ করতে চান তবে git ls-files -z এবং xargs -0 ব্যবহার করে সাদা শূণ্যস্থানগুলি মনে রাখা বিজ্ঞতার বিষয়।

git ls-files -z -o --exclude-standard | xargs -0 git add

অট্যাকড ফাইল যোগ করার জন্য চমৎকার উপনাম:

au = !git add $(git ls-files -o --exclude-standard)

সম্পাদনা: রেফারেন্সের জন্য: git-ls-files


আপনি যদি কেবল অটোক্রেড ফাইলগুলি সরাতে চান তবে এটি করুন:

git clean -df

যদি আপনি বিশেষভাবে উপেক্ষা করা ফাইল অন্তর্ভুক্ত করতে চান যে x যোগ করুন। আমি সারা দিন জুড়ে git clean -dfx ব্যবহার।

আপনি git-whatever বলা একটি স্ক্রিপ্ট লেখা এবং আপনার পথে থাকার দ্বারা কাস্টম গিট তৈরি করতে পারেন।


আমি এটি একটি পুরানো প্রশ্ন জানি, কিন্তু অটোক্রেড ফাইলগুলি তালিকাভুক্ত করার ক্ষেত্রে আমি ভাবলাম যে আমি অন্য একটি যুক্ত করব যা অট্যাকড ফোল্ডারগুলি তালিকাবদ্ধ করে:

আপনি কোন ফাইলটি এটি মুছে ফেলবেন তা দেখানোর জন্য -n (শুষ্ক চালনা) দিয়ে গিট পরিচ্ছন্ন ক্রিয়াকলাপটি ব্যবহার করতে পারেন: (। জিটিগিনোর ফাইলগুলি সহ):

git clean -xdn

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

  • x - সমস্ত অট্যাক্টেড ফাইলগুলি দেখায় (গিট এবং অন্যদের দ্বারা উপেক্ষা করা, যেমন আউটপুট ইত্যাদি ...)
  • d - অট্যাকড ডিরেক্টরি প্রদর্শন
  • n - এবং সবচেয়ে গুরুত্বপূর্ণ! - dryrun, আসলে কিছু মুছে না, শুধু ফলাফল প্রদর্শন পরিষ্কার পদ্ধতি ব্যবহার করুন।

গ্রহণযোগ্য উত্তর স্থান সঙ্গে ফাইলের নাম ক্র্যাশ। আমি এটিতে মন্তব্য করতে পারছি না (কম স্ট্যাকওভারফ্লো স্কোর পর্যন্ত), এবং এই মুহুর্তে আমি নিশ্চিত যে ওরফে কমান্ডটি কিভাবে আপডেট করব, তাই আমি এখানে উন্নত সংস্করণটি রাখব:

git ls-files -z -o --exclude-standard | xargs -0 git add

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

git status --porcelain | awk '/^\?\?/ { print $2; }'

সম্ভাব্য যোগ করার জন্য ফাইল খুঁজছেন যখন। git show থেকে আউটপুট যে কাজ করে কিন্তু এটি অন্যান্য স্টাফ অনেক অন্তর্ভুক্ত রয়েছে। নিম্নোক্ত কমান্ড ফাইলগুলির একই তালিকা পেতে কিন্তু অন্যান্য সমস্ত উপাদান ছাড়া দরকারী।

 git status --porcelain | grep "^?? " | sed -e 's/^[?]* //'

একটি নির্দিষ্ট প্যাটার্ন মিলে ফাইলগুলি পাইপলাইনে মিলিত হলে এবং এটি git add করার জন্য git add

git status --porcelain | grep "^?? "  | sed -e 's/^[?]* //' | \
egrep "\.project$|\.settings$\.classfile$" | xargs -n1 git add





git-ls-files