mod গিট স্ট্যাটাস` কেবলমাত্র সংশোধিত ফাইলই কি সম্ভব?


173

git statusকেবলমাত্র পরিবর্তিত ফাইলগুলিই কি প্রদর্শিত এবং প্রদর্শিত সম্ভব ?

সমস্যাটি হ'ল আমার কাছে অনেকগুলি স্টেজযুক্ত ফাইল রয়েছে যা আমি এই মুহুর্তে প্রতিশ্রুতিবদ্ধ করতে বা গিটিগনোর করতে চাই না এবং আমি স্ক্রোল করতে পারছি না। আমার উবুন্টুতে একটি স্ক্রোলব্যাক সীমা সেট আছে।


1
আপনার কীভাবে একটি স্ক্রোল সীমা আছে? ডিফল্টরূপে, git statusপেজারে প্রার্থনা করবে।
লিলি ব্যালার্ড

দুঃখিত স্ক্রোলব্যাক সীমাটি আমার মেশিনে 512 লাইনে সেট করা আছে। আমার ধারণা আমি এটি পরিবর্তন করতে পারি; তবে স্ট্যাটাসে কেবল পরিবর্তিত ফাইলগুলি দেখতে একটি ওয়ান লাইন কমান্ড পছন্দ করবে কারণ জিডি / ইমেজক্যাচি শেষ পর্যন্ত আরও বেশি ফাইল উত্পন্ন করবে।
ক্রিসজলি

1
ঠিক আছে ... আমার বক্তব্যটি হচ্ছে পেজারটি আপনার টার্মিনালের স্ক্রোলব্যাক ব্যবহার করে না।
লিলি ব্যালার্ড

আপনি আকর্ষণীয় বলে মনে হচ্ছে কেবল গ্রেপিংয়ের সাথে কিছু ভুল? স্থিতির এক-লাইন সংস্করণ ব্যবহার করুন --shortবা --porcelainপান।
torek

2
আরও একটি বিষয়, ব্যবহারের পরামর্শের ভিত্তিতে git ls-files -m: কোন পরিবর্তন (গুলি) আপনি যত্নশীল, মঞ্চস্থ, অস্তিত্বহীন, বা উভয়ই যত্নশীল?
torek

উত্তর:


268

আপনি এটি দিয়ে এটি করতে পারবেন না git statusতবে আপনি git ls-files -mসমস্ত পরিবর্তিত ফাইল দেখানোর জন্য ব্যবহার করতে পারেন ।


6
অন্যরা জানতে পারে, এটি কেবল এমন ফাইলগুলি প্রদর্শন করবে যা মঞ্চস্থ না করেই সংশোধন করা হয়েছে।
গেরি

11
যদিও এটি গৃহীত উত্তর, এটিতে সঠিক তথ্য নেই। আপনি "গিট স্ট্যাটাস 'কেবলমাত্র পরিবর্তিত ফাইলগুলি" ব্যবহার করতে পারেন git status | grep modifiedযেমন ব্যবহারকারী 23186 এর উত্তরে ইঙ্গিত করে।
কে। অ্যালান বেটস

9
আমার জন্য, git ls-files -mকিছুই দেখাচ্ছে না কিন্তু git status | grep modifiedকাজ করছে।
সন্দীপন নাথ

1
অন্যরা যেমন উল্লেখ করেছে, এটি কেবল স্টেস্ট না করা ফাইলগুলি দেখায়। আপনি উভয় unstaged দেখানোর জন্য চান এবং মঞ্চস্থ ফাইল তাহলে এই সর্বোত্তম উত্তর আমি দেখেছি হল: stackoverflow.com/a/39994894/452587
thdoan

1
@thdoan মঞ্চযুক্ত ফাইলগুলি দেখানোর জন্য অনেকগুলি বিকল্প রয়েছে, যদিও এই নির্দিষ্ট প্রশ্নটি স্পষ্টভাবে স্টেজযুক্ত ফাইলগুলি বাদ দিতে চায়। git diff --name-only --diff-filter=M HEADস্টেজড এবং স্টেস্ট না করা উভয়ের জন্য কেবল সংশোধিত ফাইলগুলি দেখানো হবে, আপনি --diff-filterঅন্যান্য ফিল্টার ধরণের কী কী যুক্ত করতে চান তা পরীক্ষা করার জন্য আপনার ডক্স পরীক্ষা করা উচিত ।
লিলি

57

দেখে মনে হচ্ছে git status -unoডিরেক্টরিতে অন্য কিছু না দেখিয়ে কেবল গিট ট্র্যাক করছে এমন ফাইলগুলি আপনাকে প্রদর্শন করবে। আপনি যা চেয়েছিলেন ঠিক তা নয়, তবে সম্ভবত একই জিনিসটি সম্পাদন করে (ফাইলগুলির পাঠযোগ্য দৈর্ঘ্যের তালিকা যা ট্রাকে ট্র্যাক করে)।


1
git status -u no(1) ট্র্যাক করা ফাইল যা সংশোধিত হয় না, বা (2) ট্র্যাক করা ফাইল যা মঞ্চস্থ হয় তা প্রদর্শন করে না। আমি এটি গিট সংস্করণ 1.8.5.2 এবং 1.9.4 দিয়ে যাচাই করেছি।
mxxk

2
@TomNysetvold, আপনি may আসলে গড় git status -uno( stackoverflow.com/questions/7008546/... )
mxxk



15

git diff --name-only --diff-filter=M


2
আমি সেই ফিল্টারগুলির প্রস্তাব দিই: git diff --cached --name-only --diff-filter=ACMRযা যুক্ত, অনুলিপি, সংশোধিত এবং পুনরায় নামকরণ করা ফাইলগুলি করে।
কিওয়ার্টজগুয়ে


3

আমি একই তথ্য খুঁজছিলাম এবং নিম্নলিখিতটি পরিবর্তিত ফাইল দেয়:

git status -uno

2
git status -uno --porcelainপার্সিং স্ক্রিপ্টের জন্য সুন্দর আউটপুট যুক্ত করেছে
pprzemek

3

তুমি ব্যবহার করতে পার

$ git status -uno 

কেবলমাত্র পরিবর্তিত ফাইলগুলি তালিকাভুক্ত করতে।


3

সমস্যাটি হ'ল আমার কাছে অনেকগুলি স্টেজযুক্ত ফাইল রয়েছে যা আমি এই মুহুর্তে প্রতিশ্রুতিবদ্ধ করতে বা গিটিগনোর করতে চাই না এবং আমি স্ক্রোল করতে পারছি না।

যদিও এটি কেবলমাত্র পরিবর্তিত ফাইল তালিকাবদ্ধ করার প্রশ্নের সরাসরি উত্তর দিতে পারে না, এটি তালিকাভুক্ত ফাইলগুলির সংখ্যা সীমিত করতে সহায়তা করতে পারে।

git statusআউটপুটটিকে রেপোর নির্দিষ্ট ফোল্ডারে সীমাবদ্ধ করার জন্য আপনি কোনও পথ পেরিয়ে যেতে পারেন ।

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

git status app
git status spec
git status src/components

2

পরিবর্তিত ফাইলগুলি তালিকাভুক্ত করতে ব্যবহার করুন:

git ls-files -m

আপনি যদি কেবল বেসনাম চান (কোনও পথ নেই) তবে প্রতিটি ফলাফলটি xargs ব্যবহার করে বেস নাম কমান্ডে লাইন দিয়ে রেখতে পারেন:

git ls-files -m | xargs -L 1 basename

1

আমি এই আদেশটি ব্যবহার করি:

$ git status -uno -sb

এবং আউটপুট এই মত দেখাচ্ছে:

## master...origin/master
 M GNUmakefile
 M include/mp4v2/project.h

0

আমি ব্যবহার git cola। এটি একটি সাধারণ এবং মার্জিত UI ক্লায়েন্ট যা আপনাকে পরিবর্তিত ফাইলগুলি দেখিয়ে দেবে এবং আপনাকে যে পরিবর্তনগুলি করেছে তার শটের মত একটি আলাদা সরবরাহ করবে।

git colaআপনাকে এমন একটি জিইউআই সরবরাহ করে যেখানে আপনি কোন ফাইলগুলি সংশোধন করেছেন, কোনটি মঞ্চস্থ করেছেন, এমনকি আপনি যেগুলি ট্র্যাক করেন না সেগুলি কল্পনা করতে পারেন। আপনার প্রশ্নটি ছিল কেবলমাত্র আমি বিশ্বাস করি গিট স্ট্যাটাস ব্যবহার করা, তবে আমি ভেবেছিলাম যে গিট কোলা যখন ও অন্যান্য জিনিসগুলিও তখন সহায়তা করতে পারে। আরও তথ্যের থেকে এই ওয়েব পৃষ্ঠাটি দেখুন: git-cola.github.com/screenshots.html


1
আপনি কীভাবে উত্তর দিতে পারবেন যে এই উত্তরটি আমার সাথে সম্পর্কিত, আমি এই গিট কোলার সাথে পরিচিত নই। যেমন স্ক্রিনশট, বা আরও বিশদ?
ক্রিসজলি

এটা কেন হ্রাস করা হয়? :) যাইহোক, গিট কোলা আপনাকে একটি জিইউআই সরবরাহ করে যেখানে আপনি কোন ফাইলগুলি সংশোধন করেছেন, কোনটি স্টেজেছিলেন এবং এমনকি আপনি ট্র্যাক করেন না সেগুলি কল্পনা করতে পারে। আপনার প্রশ্নটি ছিল কেবলমাত্র আমি বিশ্বাস করি গিট স্ট্যাটাস ব্যবহার করা, তবে আমি ভেবেছিলাম যে গিট কোলা যখন ও অন্যান্য জিনিসগুলিও তখন সহায়তা করতে পারে। আরও তথ্যের থেকে এই ওয়েব পৃষ্ঠাটি দেখুন: git-cola.github.com/screenshots.html
n_x_l

কোলার ইন্টারফেসের ভাষা কীভাবে পরিবর্তন করবেন?
জিয়ুয়াং


0

সমস্ত পরিবর্তিত ফাইলের তালিকা ব্যবহার করতে:

git show --stat --oneline HEAD

0

সমস্ত দুর্দান্ত উত্তর; শুধু এফআইআই, "গিট চেকআউট" (একই শাখায় স্যুইচ করা বা কেবলমাত্র) পরিবর্তিত ফাইল দেখায়।


0

ওএস: উইন্ডোজ

নিম্নলিখিত কমান্ডটি "সংশোধিত:" , "পুনঃনামকরণ:" বা "নতুন ফাইল:" সমন্বিত সমস্ত লাইন প্রদর্শন করবে

git status | findstr "modified: renamed: new file:"

আপনি যদি নির্দিষ্ট ফাইল টাইপ করতে চান: (উদাহরণস্বরূপ *.py *.ini)

git status *.py *.ini | findstr "modified: renamed: new file:"

আপনি যদি ভাবেন এত বেশি টাইপ করতে খুব বেশি সমস্যা হয়:

  1. একটি ব্যাচ ফাইল তৈরি করুন (উদাহরণস্বরূপ st.bat:)

  2. নিম্নলিখিত বিষয়বস্তু লিখুন:

    @echo off
    :: st.bat  (this line doesn't necessarily. ( just let you know the scripts name.))
    git status %~1 | findstr "modified: renamed: new file:"
    
  3. আপনার ব্যাচের ফাইল রয়েছে এমন পরিবেশের পথ যুক্ত করুন। ( st.bat)

  4. ব্যবহার

    st.bat "*.py *.ini"
    

    (দ্রষ্টব্য: যদি টাইপ করুন> 1 তবে সেমিকোলন যুক্ত করতে হবে)

ওএস: লিনাক্স

যেমন @ ল্যান্স বলেছেন যে আপনি চেষ্টা করতে পারেন

git status | grep modified:

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