2012-07-01 17 views
40

मैं git pull करने के बाद किसी भी कोड परिवर्तन का निरीक्षण करना चाहता हूं। वर्तमान में यह सिर्फ मुझे दिखा रहा है कि कौन सी फाइलें बदलती हैं। मैं कैसे देख सकता हूं कि कौन सा कोड बदल गया?गिट खींचने के बाद कोड परिवर्तन कैसे देखें?

+0

[इस] (http://stackoverflow.com/questions/1362952/detail-change-after-git-pull) का संदर्भ लें। – unrealsoul007

उत्तर

40
git log --name-status -2 

आपको पिछले दो कामों के लिए बदली गई फ़ाइलों का नाम दिखाएगा।

git log -p -2 

आपको स्वयं परिवर्तन दिखाएगा।

इससे पहले कि आप खींच,

git fetch 
git log --name-status origin/master.. 

आपको बताएंगे कि क्या करता है के बारे में आप पुनः प्राप्त करने के लिए, फ़ाइलों के नाम के साथ साथ कर रहे हैं।

13

क्योंकि git pull सिर्फ git fetch और git merge के लिए एक शॉर्टकट है, तो आप मूल से शाखाओं लाने और फिर विलय से पहले अंतर दिखाने git fetch चला सकते हैं। इस तरह:

git fetch      # Load changes from remote server 
git diff master origin/master # Show differences 
git merge origin/master  # Merge remote changes with local changes 

आप मास्टर तुलना में एक अलग शाखा पर चलाते हैं, तो आप निश्चित रूप से ऊपर बताए गए आदेशों में शाखा के नाम बदलना चाहिए।

+0

'' 'git diff --name-only मास्टर मूल/मास्टर [पथ]' ' – jiacheo

3

आप जांच सकते हैं कि इसमें क्या परिवर्तन होता है और इसे खींचकर ...

git log --stat 
26

खींच से पहले

रूप @iblue विलय से पहले एक fetch और diff साथ कहते हैं आप परिवर्तनों की समीक्षा कर सकते हैं:

$ git fetch 
$ git diff master...origin/master 

नोट ट्रिपल अवधि है, जो साझा माता-पिता के खिलाफ diff का मतलब और मूल/मास्टर (नीचे x चिह्नित):

SP---o---o [master] 
    \ 
    x---x [origin/master] 

बस एक पुल के बाद

एक पुल के उत्पादन में बहुत पहले लाइन इस तरह दिखता है:

$ git pull 
Updating 37b431a..b2615b4 
... 

आप तो बस कर सकते हैं:

$ git diff 37b431a..b2615b4 

या जो कुछ भी अन्य कमांड:

$ git log --name-status 37b431a..b2615b4 

पर बाद में जब से तुम खींच लिया यह एक समय हो गया है, और आप को पता है कि परिवर्तन में पिछले खींच द्वारा लाया गया चाहते हैं, तो आप इसे देख सकते हैं साथ:

$ git reflog | grep -A1 pull | head -2 

जो पुल पुल से पहले हैश द्वारा पीछा के बाद हैश दिखाएगा:

b2615b4 [email protected]{0}: pull : Fast-forward 
37b431a [email protected]{1}: checkout: moving from v6.1 to master 

फिर आप इन दो हैश के साथ एक ही बात कर सकते हैं:

git diff 37b431a..b2615b4 
+2

यह एकमात्र उत्तर है जो आपको यह जांचने की अनुमति देता है कि आखिरी पुल के दौरान कौन सी फाइलें बदली हैं, जब आपको याद नहीं है कि कितने काम करते थे उस समय खींच लिया। – kremuwa

2

आप तुरंत पिछले द्वारा प्रतिबद्ध के स्रोतों के साथ खींच लिया सामग्री की तुलना कर सकते,

git diff [email protected]{1} 

जैसे:

git diff [email protected]{1} 

स्रोतों के साथ तुलना के लिए एन के पीछे करता है,

git diff [email protected]{n} 
संबंधित मुद्दे