2008-12-08 10 views
8

मैं एक फ़ाइल के लिए diffs की एक श्रृंखला देखना चाहता हूँ। मैं केवल उन प्रविष्टियों तक सीमित लॉग सूची के लिए बसूंगा जो फ़ाइल को संशोधित करते हैं।मैं एक विशेष फ़ाइल के संबंध में संशोधन के लिए गिट लॉग (या svn लॉग) को कैसे सीमित कर सकता हूं?

उत्तर

13

,

svn log main.cpp --limit 4 

ये एक फ़ाइल या परियोजना के लिए लागू किया जा सकता Btw:

या

svn log URL 

मैं भी केवल हाल प्रविष्टियों को दिखाने के लिए --limit N जोड़ने का सुझाव देते।

svn log [email protected]_revision_where_the_path_existed

तो खूंटी संशोधन छोड़ दिया जाता है,:

+0

डी 'ओह; यह मदद फाइलों में ठीक है। मैं इसे दोनों में याद किया। –

+0

कम से कम पिपिंग के समान प्रभाव है --limit N: "svn log main.cpp | कम" –

11

git log [filename]। यदि आप देखना चाहते हैं कि git log -p [filename] क्या बदल गया है।

3

SVN एकल फ़ाइल के लिए लॉग

SVN लॉग filename.php

संशोधन 1033 और 1191

1033 -r svn के बीच एक फ़ाइल पर परिवर्तन के लिए

SVN diff: 11 9 1 diff filename.php

2

जहां तक ​​SVN का संबंध है, अगर सवाल में फ़ाइल वर्तमान संशोधन में मौजूद नहीं है, तो आप भी एक खूंटी संशोधन निर्दिष्ट करने के लिए की आवश्यकता होगी यह HEAD (एक यूआरएल के लिए) या आधार (एक कार्यशील प्रति पथ के लिए) के लिए डिफ़ॉल्ट है।

यह भी ध्यान दें कि अगर फ़ाइल हटा दी गई है और बाद में इसे पुरानी फ़ाइल से जोड़ने के इतिहास के बिना पुनरुत्थान किया गया है (जो, मान लीजिए या नहीं, मैंने देखा है कि इस तकनीक को अच्छे कारण से लागू किया गया है जब एक गहरी रिफैक्टरिंग या प्रौद्योगिकी शिफ्ट लागू होती है), svn लॉग केवल उस विशेष peg संशोधन से जुड़े परिवर्तन दिखाएगा।

यदि आप किसी विशेष पथ से जुड़े सभी परिवर्तनों को देखना चाहते हैं, तो आपको रिपोजिटरी रूट का svn log -v करना होगा और फिर परिणाम बदलकर पथ को फ़िल्टर करना होगा।

2

Git: मामले में फ़ाइल वर्तमान शाखा से हटा (या अन्य प्रकार Git द्वारा एक अस्पष्ट तर्क के रूप में देखा जाता है) है:

git log -- [filename]