जब मैं git log --stat
के साथ एक <path>
तर्क का उपयोग करता <path>
, Git सूचियों <path>
केवल संशोधित फ़ाइल के रूप में संशोधित जब चयनित प्रतिबद्ध प्रदर्शित करने के लिए लॉग सीमित करने के लिए। मैं इसके बजाय सभी संशोधित प्रत्येक चयनित प्रतिबद्धता के लिए सूचीबद्ध पथ देखना चाहूंगा।'गिट लॉग --स्टैट - <path>' शो * सभी * फ़ाइलों को चयनित कामों में कैसे बनाया जाए?
उदाहरण के लिए:
$ echo test > a.txt
$ echo test > b.txt
$ git add a.txt b.txt
$ git commit -m test
[...]
2 files changed, 2 insertions(+), 0 deletions(-)
[...]
$ git log -n1 --stat
[...]
a.txt | 1 +
b.txt | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
$ git log -n1 --stat -- a.txt
[...]
a.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
नोट दूसरा git log
, पथ तर्क a.txt
साथ, का कहना है कि "1 फ़ाइलों को परिवर्तित", जब वास्तव में "2 फ़ाइलें बदल"। मुझे a.txt
और b.txt
दोनों ने मुझे यह बताने के लिए गिट को बदलना होगा, भले ही मैं पथ a.txt
पर आधारित प्रतिबद्धता का चयन करता हूं।
अद्यतन: @jacknagel ने मेरे प्रश्न का उत्तर दिया, लेकिन यह पता चला कि उसका समाधान मेरे असली उपयोग मामले में काम नहीं करता है। मेरे वास्तविक उपयोग के मामले में, मैं उन सभी कामों की तलाश में हूं जो नामों सहित एक फ़ाइल को संशोधित करते हैं, ऐसे मामले में जहां दो संबंधित परियोजनाएं अलग हो जाती हैं। मुझे यह पता लगाने की ज़रूरत है कि एक परियोजना में कौन से बदलाव अन्य परियोजनाओं में संबंधित बदलावों (मुझे बनाने की ज़रूरत है) दर्शाते हैं। दुर्भाग्य से, git
शिकायत करता है जब मैं एक ही समय में --full-diff
और --follow
का उपयोग करने का प्रयास करता हूं।
तो, मेरा असली स्थिति में, मैं चलाने के लिए कोशिश कर रहा हूँ:
git log --stat --follow -- a.txt
और एक समाधान है कि इस मामले में काम करता है:
git log --format='%H' --follow -- a.txt | xargs git show --stat -C
क्या कभी आप से पूछना मेरे लिए बहुत मतलब नहीं है। आप कमांड से अलग तरीके से व्यवहार करने की अपेक्षा कैसे करते हैं? जब आप फ़ाइल नाम देते हैं तो आप अकेले उस फ़ाइल का विवरण प्राप्त करने के लिए गिट बता रहे हैं। यदि आप इसे दोनों सामान दिखाना चाहते हैं तो – positron
@positron कमांड का उपयोग करें: मैं रुचि के कामों की पहचान करने के लिए फ़ाइल नाम का उपयोग कर रहा हूं, लेकिन उन लोगों के लिए मैं पूरी जानकारी चाहता हूं। संक्षेप में, मैं ब्याज के अन्य * अज्ञात * फ़ाइल नामों की पहचान करने के लिए दिए गए फ़ाइल नाम का उपयोग कर रहा हूं। इसलिए, मैं अन्य फाइलों को 'गिट' नहीं बता सकता, क्योंकि मुझे नहीं पता कि वे क्या हैं। – ntc2
उत्तर देने के लिए अपने * प्रश्न * को संपादित करने के बजाय, स्टैक ओवरफ्लो तरीका एक उत्तर जोड़ना है, भले ही यह आपका स्वयं का प्रश्न हो। मैंने सही उत्तर जोड़ने की स्वतंत्रता ली है, लेकिन अगर आप इसे स्वयं पोस्ट करते हैं तो मैं खुशी से इसे हटा दूंगा – djeikyb