Git repo की उप निर्देशिका के लिए git लॉग इतिहास कैसे दिखाया जाए?


228

कहते हैं कि मेरे पास एक git रेपो है जो इस तरह दिखता है।

foo/
  .git/
  A/
   ... big tree here
  B/
   ... big tree here

क्या एक विशेष निर्देशिका के लिए केवल लॉग संदेश दिखाने के लिए गिट लॉग को पूछने का एक तरीका है। उदाहरण के लिए, मैं देखना चाहता हूं कि केवल foo / A में टच की गई फाइलें क्या करती हैं?

जवाबों:


242

निर्देशिका से foo/, का उपयोग करें

  git log -- A

Refspecs <path>..से अलग करने के लिए आपको '-' की <since>..<until>जरूरत है।

# Show changes for src/nvfs
$ git log --oneline -- src/nvfs
d6f6b3b Changes for Mac OS X
803fcc3 Initial Commit

# Show all changes (one additional commit besides in src/nvfs).
$ git log --oneline
d6f6b3b Changes for Mac OS X
96cbb79 gitignore
803fcc3 Initial Commit

1
वैसे, आपको "गिट लॉग - ए बी" करने से पहले "फू" फोल्डर में रहना चाहिए
सर्गेई लेको

22
लोगों स्किम-पढ़ने के लिए, इस शो में परिवर्तन A और B , बस नहीं Aके रूप में ओ पी का अनुरोध किया
एडन

1
@GoZoner, क्या सभी तरीकों को खोजने का एक तरीका है जहां एक विशिष्ट फ़ोल्डर का नाम बदल दिया गया था? फ़ोल्डर इधर-उधर हो सकता है, इसलिए मैं पसंद
करूँगा

3
^ ^ अपडेट Aकेवल ओपी के अनुरोध के अनुसार, परिवर्तन दिखाने के लिए ।
गोजोनर

क्या होगा यदि निर्देशिका वर्तमान सिर में हटा दी गई थी?
आरोन फ्रेंके

34

यदि आप इसे ग्राफिक रूप से देखना चाहते हैं तो आप उपयोग कर सकते हैं

gitk -- foo/A

यहां छवि विवरण दर्ज करें


26

आप git logसंबंधित फ़ोल्डर के पथनाम के साथ उपयोग कर सकते हैं :

git log A B

लॉग केवल में की गई करता दिखाई देगा Aऔर B। मैं आमतौर पर --statचीजों को थोड़ा प्रीतिकर बनाने के लिए फेंक देता हूं , जो त्वरित प्रतिबद्ध समीक्षाओं के लिए मदद करता है।


26

दर्ज

git log .

विशिष्ट निर्देशिका से, यह उस निर्देशिका में कमिट भी देता है।


4
मेरे लिए काम नहीं किया गया। विशिष्ट निर्देशिका में उतरने और गिट लॉग देने के बाद। मुझे सब जड़ से दिया।
एकेएस

1
मेरे लिये कार्य करता है।
बकले

2

उस फ़ोल्डर में परिवर्तन के लिए जहाँ फ़ोल्डर ले जाया गया था, मैंने उपयोग करना शुरू कर दिया:

git rev-list --all --pretty=oneline -- "*/foo/subfoo/*"

यह बिल्कुल सही नहीं है क्योंकि यह अन्य फ़ोल्डरों को समान नाम से लेगा, लेकिन यदि यह अद्वितीय है, तो यह काम करने लगता है।


0

अन्य उत्तर केवल परिवर्तित फ़ाइलों को दिखाते हैं।

git log -p DIRबहुत उपयोगी है, यदि आपको किसी विशिष्ट उपनिर्देशिका में सभी परिवर्तित फ़ाइलों के पूर्ण रूप की आवश्यकता है ।

उदाहरण: किसी विशिष्ट संस्करण श्रेणी में सभी विस्तृत परिवर्तन दिखाएं

git log -p 8a5fb..HEAD -- A B

commit 62ad8c5d
Author: Scott Tiger
Date:   Mon Nov 27 14:25:29 2017 +0100

    My comment

...
@@ -216,6 +216,10 @@ public class MyClass {

+  Added
-  Deleted

1
मुझे समझ नहीं आ रहा है कि यह उत्तर प्रश्न से कैसे संबंधित है
फ्लोरियन लेटिगेब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.