আমি কি --assume- অপরিবর্তিত ফাইলের তালিকা পেতে পারি?


325

আমি কি হিসাবে চিহ্নিত করেছি --assume-unchanged? এই বিকল্পটি ব্যবহার করে আমি কী টুকটাক করেছি তা খুঁজে পাওয়ার কোনও উপায় আছে?

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

উত্তর:


449

আপনি ব্যবহার করতে পারেন git ls-files -v। মুদ্রিত অক্ষরটি যদি ছোট-বড় হয় তবে ফাইলটি অনুমান-অপরিবর্তিত হিসাবে চিহ্নিত করা হয়।

অপরিবর্তিত কেবলমাত্র ফাইলগুলি মুদ্রণ করতে:

git ls-files -v | grep '^[[:lower:]]'

আপনার অলস প্রোগ্রামারকে আলিঙ্গন করতে, এটিকে গিটার ওরফে পরিণত করুন.gitconfigএই স্নিপেট যুক্ত করতে আপনার ফাইল সম্পাদনা করুন :

[alias]
    ignored = !git ls-files -v | grep "^[[:lower:]]"

এখন টাইপিং git ignoredআপনাকে এরকম আউটপুট দেবে:

h path/to/ignored.file
h another/ignored.file

42
গিট এলএস-ফাইল-ভি | গ্রেপ ^ [আজ]
ম্যাট আর

17
আমার ওএসের স্পষ্টতই একটি অদ্ভুত কোলিশন সেটআপ রয়েছে, তাই ম্যাট-এর আদেশ আমার পক্ষে কার্যকর হয়নি। এখানে [alias]আমার বিভাগের অধীনে আমি যা যুক্ত করেছি তা এখানে .gitconfig:ignored = !git ls-files -v | grep "^[[:lower:]]"
অ্যাবে ভোলেকার

15
[আজ] কাজ না করার কারণটি হ'ল শেলটি এটি একটি ওয়াইল্ডকার্ড হিসাবে প্রসারিত করে; যদি বর্তমান ডিরেক্টরিতে কোনও ফাইল থাকে যা সেই প্যাটার্নের সাথে মেলে (অর্থাত্ একটি একক ছোট হাতের অক্ষর), তবে সেইটির প্রসারিত ফাইলের নাম। উদ্ধৃতি যুক্ত করার চেষ্টা করুন, উদাহরণস্বরূপ "[
অ্যাজ

7
গিট এলএস-ফাইল-ভি | grep -e "^ [আজ]"
আমির আলী আকবরী

12
প্রস্তাবিত এলিয়াসগুলি বর্তমান ডিরেক্টরিতে এবং নীচে অপরিবর্তিত ফাইলগুলি সন্ধানের জন্য কাজ করে। আপনি যদি git ls-files -v `git rev-parse --show-toplevel` | grep "^[a-z]"
ভাণ্ডারটিতে

65

এক রৈখিক

git ls-files -v | grep "^[a-z]"

উপকরণ ব্যবহার করুন

আইএমএইচও, git hiddenফাইল হিসাবে চিহ্নিত হিসাবে ভাল --assume-unchanged:

git config --global alias.hidden '!git ls-files -v | grep "^[a-z]"'

আমার সাথে সম্পর্কিত সম্পর্কিত এলিয়াসগুলির একটি তালিকা এখানে রয়েছে ~/.gitconfig:

[alias]
  hide = update-index --assume-unchanged
  unhide = update-index --no-assume-unchanged
  unhide-all = update-index --really-refresh
  hidden = !git ls-files -v | grep \"^[a-z]\"
  ignored = !git status -s --ignored | grep \"^!!\"

এটি উপ - ডিরেক্টরিতে এবং সমর্থন যুক্তিগুলিতে কাজ করার জন্য :

  hidden = "!f(){ git -C \"$GIT_PREFIX\" ls-files -v \"$@\" | grep \"^[a-z]\";}; f"
  ignored = "!f(){ git -C \"$GIT_PREFIX\" status -s --ignored \"$@\" | grep \"^!!\";}; f"

উদাহরণ স্বরূপ:

 # cd target
 # git ignored classes

ফাইলের স্থিতি সম্পর্কে

আমার জন্য বেশিরভাগ লুকানো ফাইলগুলি পতাকা সহ চিহ্নিত করা হয় h, যদিও এর ম্যানুয়াল অনুসারে আসলে আরও কয়েকটি পতাকা রয়েছে git-ls-files-v:

-v
    Similar to -t, but use lowercase letters for files that are 
marked as assume unchanged (see git-update-index(1)).

সম্পর্কে git ls-files-t:

This option (-t) identifies the file status with the following tags 
(followed by a space) at the start of each line:

H   cached
S   skip-worktree
M   unmerged
R   removed/deleted
C   modified/changed
K   to be killed
?   other

1
খুব সহজেই মনে রাখা সহজ এ
લિিয়াস

1
এখানে আরও কিছু নমনীয় রূপ রয়েছে: hidden = "!f() { git ls-files -v \"$@\" | grep \"^[a-z]\"; }; f"এবং ignored = "!f() { git status -s --ignored \"$@\" | grep \"^!!\"; }; f"। উদাহরণস্বরূপ, git ignored -- PATH1 PATH2এটি কেবলমাত্র কয়েকটি পাথগুলিতে উপেক্ষা করা ফাইলগুলি তালিকাভুক্ত করার অনুমতি দেয় (যখন আপনার কাছে উপেক্ষা করা ফাইল রয়েছে তখন দরকারী)।
এসএসএস

উপনামের জন্য আপনাকে ধন্যবাদ
MOHRE

22

এই আদেশটি আমার জন্য আরও ধারাবাহিকভাবে কাজ করে। এটি কেবল 'ধরণ-অপরিবর্তিত' হিসাবে তালিকাভুক্ত ফাইলগুলি মুদ্রণ করবে।

git ls-files -v|grep "^h"

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


5
উইন্ডোজ প্রম্পটে, grep "^h"একক উদ্ধৃতিগুলির পরিবর্তে ব্যবহার করুন
সুন্দরী

7

সিলেক্ট-স্ট্রিং \ এসএলএস ব্যবহার করে পাওয়ারশেল সমাধান

git ls-files -v | sls -pattern ^h -casesensitive

3

উইন্ডোজ কমান্ড লাইন সমাধান ফাইন্ডস্টার ব্যবহার করে :

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