2013-01-04 57 views
18

मैं एक्स जाँच की गई थी करता है निम्न आदेश का उपयोग कर:एक्स शाखा द्वारा आपकी शाखा 'उत्पत्ति/मास्टर' से आगे है। एक्स कैसे ढूंढता है?

git log --author=<my-name> -<X> 

लेकिन समस्या यह है कि मैं गलती से किसी अन्य रिपोजिटरी से कोड खींच लिया और अपने स्थानीय Git भंडार के लिए भंडार से प्रतिबद्ध जोड़ा है।

तो मैं उपर्युक्त कमांड का उपयोग नहीं कर सकता क्योंकि नए कामों में कुछ अन्य लेखक शामिल हैं।

+1

यदि आपके काम की नकल साफ है (कोई अप्रतिबद्ध परिवर्तन) आप के साथ पुल से पहले राज्य के लिए वापस जा सकते हैं http://stackoverflow.com/q/1223354/11343 – CharlesB

+0

@ चार्ल्सबी "गिट रीसेट - हार्ड" खींचने से पहले राज्य में नहीं ले जाएगा। संदेश अभी भी आ रहा है। –

+1

आपको पुल से पहले चेक-आउट की प्रतिबद्ध हैश को खोजने और उसे रीसेट करने के लिए पास करने की आवश्यकता है, कृपया – CharlesB

उत्तर

27

आदेश

git log origin/master..master 

प्रतिबद्ध है कि master पर लेकिन पर नहीं origin/master हैं दर्शाता है।

+0

यह काम नहीं दिखाएगा। यह दिखाता है कि मेरे स्थानीय भंडार में और मेरे रिमोट रिपोजिटरी में कुछ काम मौजूद हैं। –

+0

शायद मैंने आपके प्रश्न को गलत समझा ... – tobiasbayer

+0

आपके द्वारा प्राप्त किए गए वोटों के आधार पर उत्तर स्वीकार करना: डी –

-1

मैं का उपयोग करें:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative 

यह एक ग्राफ, सभी शाखाओं और उनके नाम के साथ के रूप में करता दर्शाता है।

मेरी सलाह मैं इस आदेश है कि करता है कि धक्का दिया नहीं किया गया है सूचीबद्ध करता है के लिए एक उपनाम बना ~/.gitconfig

+0

मुझे लगता है कि इसमें प्रतिबद्धता है। लेकिन यह बहुत अधिक जानकारी दिखाता है। इससे एक्स कमेट्स की पहचान कैसे हो सकती है? –

+0

आप निश्चित रूप से '--author = - 'जोड़ सकते हैं। या यह आप नहीं चाहते थे? – amorfis

2

में इसके लिए अन्य नाम बनाना है।

Git लॉग --branches --not --remotes --decorate --oneline

जो एक कमांड cxreg Viewing Unpushed Git Commits में तैनात की एक विविधता है।

उस पोस्ट में प्रतिबद्ध पेड़ को पार्स करने के कई अन्य उपयोगी तरीके भी।

1

treeish..treeish नोटेशन दूसरे संदर्भ में उपस्थित कामों को देखने के लिए बिल्कुल काम करता है, लेकिन पहले में नहीं।

एक नियमित D..M प्रतिबद्ध है कि एम के पूर्वजों का सेट की गणना करता है, लेकिन जो कि डी के पूर्वजों हैं, तो यह देखने के लिए कि क्या इतिहास अग्रणी हुआ उपयोगी है शामिल नहीं: Git लॉग मदद से डी से एम के लिए, इस अर्थ में कि "एम में क्या है जो डी में मौजूद नहीं था"।

के साथ या तो git log या git show आप उत्पादन एक सूची है कि प्रत्येक के लिए एक पंक्ति में शामिल है pressent D..M अंतर में प्रतिबद्ध कर सकते हैं इस का उपयोग करते हुए:

git show -s --oneline branch..HEAD 

या

git log --oneline branch..HEAD 

जोड़ी के साथ कि एक शब्द गिनती है और आप वास्तव में उन कामों की संख्या आउटपुट कर सकते हैं जिन्हें आप ढूंढ रहे हैं:

git log --oneline branch..HEAD | wc -l 
+0

मैंने उपर्युक्त आदेशों का प्रयास किया। मुझे कोई आउटपुट नहीं मिल रहा है। –

+0

यदि आपको उपरोक्त प्रिंट की तरह कोई त्रुटि नहीं है और 'शो/लॉग' नहीं है, तो इसका मतलब है कि, 'ए..बी',' बी 'में पहले से ही' ए 'में सभी काम शामिल हैं, और वहां मुद्रित करने के लिए कोई काम नहीं कर रहे हैं। इसे बदलने का प्रयास करें, या इसे दो जोड़े के साथ आज़माएं जिनके बारे में आप निश्चित हैं। उदाहरण के लिए, यदि आप इसे 'HEAD^.. HEAD' के साथ आज़माते हैं तो आपको एक ही प्रतिबद्धता प्रदर्शित करनी होगी। – LopSae

+0

उपरोक्त सभी टिप्पणियां केवल स्थानीय रेपो के साथ तुलना करती हैं। रिमोट रेपो के साथ तुलना कैसे करें? –