git -> विशिष्ट निर्देशिका में हाल ही के कमिट्स में बदली गई फ़ाइलों की सूची दिखाएं


जवाबों:


164

यह एक svn कमांड के समान है, क्योंकि यह फाइल स्टेटस दिखाता है: एड (A), कोपीड (C), हटाए गए (D), संशोधित (M), नामांकित (R), और अन्य।

git log --name-status -10 path/to/dir

इसके लिए पूर्ण प्रलेखन पृष्ठ देखने लायक है git log। वहां आप सीखेंगे कि -10पिछले 10 कमिट्स को संदर्भित करता है, और -pविभिन्न अच्छाइयों के बीच आपको पूर्ण पैच देगा।


12
पूर्णता के लिए: समान विकल्पों का आमतौर पर उपयोग किया जाने वाला सेट -p(पूर्ण पैच), --stat(परिवर्तित लाइनों की संख्या), --numstat(जैसे कि --statमशीन-पठनीय) --name-status, और --name-only(सिर्फ फ़ाइल नाम) है।
Cascabel

3
पहले से ही जाने बिना इस सवाल पर आने वाले किसी भी व्यक्ति के लिए, -10 आपके दिखाए गए कमिट की संख्या को दर्शाता है। यदि आपको आवागमन की एक व्यापक सूची की आवश्यकता है, तो संख्या को असामान्य रूप से बड़ा बनाने की कोशिश करें, जैसे -1000 या उससे अधिक।
जूलियन सोरो

क्या किसी विशिष्ट प्रतिबद्ध या लेबल के बाद से इतिहास को देखना संभव है? यह सैकड़ों कमिट्स हैं, इसलिए यह गिनने की कोशिश की जा रही है ...
MrFox

2
@ मॉर्फॉक्स git log <from revision>.., उदा git log abc123..। रेंज फॉर्मेट के बारे में और अधिक पढ़ें: kernel.org/pub/software/scm/git/docs/…
htanata

37

पिछले 10 कमिट में बदली गई सभी फाइलों को दिखाने के लिए, बिना किसी जानकारी के, करें:

git diff --name-only HEAD~10..HEAD yourdir

3
अपने संपादक में फ़ाइलों को फिर से खोलने के लिए सही समाधान।
cdosborn

1
यह समाधान केवल फ़ाइल पथों को सूचीबद्ध करता है, कोई टिप्पणी नहीं , जो स्वीकृत उत्तर की अधिक सराहना करता है। यदि आप चाहते हैं कि फ़ाइलों की एक सूची है जो निर्दिष्ट कमिट में बदल गई है, और यह समाधान बस यही करता है
बिग रिच

6

करने की कोशिश करो

git log -p -10 yourdir/

यह काम करना चाहिए।


1
ओपी ने फाइलों की एक सूची मांगी, पूर्ण पैच नहीं।
कास्केबेल

1
यदि आप फ़ाइल की सूची को बदलना चाहते हैं, तो आप -p के स्थान पर
--stat

1

अपनी सभी commitशाखा (हाल की और पुरानी) को दिखाने के लिए , आपको शाखा में कमिट की संख्या गिनने की आवश्यकता है

git rev-list --count branch_name

एक बार जब आप सभी प्रतिबद्ध गणना प्राप्त कर लेते हैं, तो आप चला सकते हैं

git log --name-status -countNumber /path

और ऊपर दिए --pretty=onelineगए git logकमांड में विकल्प को जोड़ने वाले दृश्य को सरल बना सकता है। एक जोड़ | sort | uniqआदेश में मदद मिलेगी एक प्रति के रूप में ए / सी / डी / एम / आर स्थिति टैगिंग देख htanata का जवाब
XavierStuvw
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.