2013-02-03 11 views
6

पर नया क्या दिखाता है मेरे पास एक स्थानीय रेपो और जिथब पर रिमोट रेपो है। व्यावसायिक कारणों से, वे सिंक में नहीं हैं। मैंने स्थानीय पर बहुत सारे काम किए हैं जो मैं रख रहा हूं, और अब मैं अपने स्थानीय लोगों को रिमोट में जो भी नया जोड़ रहा हूं उसे मैन्युअल रूप से जोड़ रहा हूं। कोई शाखा नहीं हैगिट diff - केवल

जब मैं आदेश का उपयोग करें,

git diff --color master..origin/master 

मैं अच्छे परिणाम, दिखा क्या बदल .... क्या मैं स्थानीय रेपो एक के साथ चिह्नित है में शामिल किया है - संकेत है, और लाल रंग में दिखाया गया है, जबकि रिमोट पर क्या है + संकेतों के साथ हरे रंग में दिखाया गया है।

दिखाने का कोई तरीका है केवल रिमोट पर नया क्या है और स्थानीय पर नहीं? यही है, मुझे रिमोट पर किसी भी नई फाइलें दिखाएं और मुझे रिमोट पर फ़ाइलों में कोई नई या संशोधित लाइनें दिखाएं (मुझे सभी हरे रंग के + दिखाएं)

धन्यवाद।

+0

यह उतना ही आसान है के रूप में: 'Git diff --color master..origin/मास्टर | grep + ' –

+0

उत्तर देने के लिए धन्यवाद। यह ट्रैक नहीं करता है अगर ट्रैक की गई कुछ फ़ाइलों के पाठ में + है। कोई अन्य तरीका? पीएस मैं गिट और टर्मिनल के लिए नया हूँ। :-) – Darby

+1

'grep^+' फिर? –

उत्तर

1

आप आम पूर्वज के साथ diff कर सकते हैं:

git diff `git merge-base master origin/master` origin/master 

या के साथ अपने पिछले लाने:

git diff origin/[email protected]{1} origin/master 
7

मेरा मानना ​​है कि आप आदेश में दो शाखाओं के बीच 3 डॉट्स डाल सकते हैं और फिर यह करता है पहले के संबंध में दूसरे में नया क्या है, यानी

git diff master...feature 

नया क्या है फीचर पर, और

git diff feature...master 

मास्टर पर नया क्या है यह देखने के लिए। आपके मामले में सुविधा origin/master हो सकती है और इसे ठीक काम करना चाहिए।

+2

दाएं: 'गिट डिफ' के लिए तीन बिंदु, बनाम दो गॉट्स 'गिट लॉग' के लिए! http://stackoverflow.com/a/14426939/6309 और http://stackoverflow.com/a/7256391/6309 – VonC

0

git help rev-list पर देखने का प्रयास करें। विकल्प आप शायद के लिए देख रहे --right-only, तो हो सकता है यह आप हो जाता है कि आप क्या चाहते है:

git diff --color --right-only master..origin/master 
संबंधित मुद्दे