2013-02-03 45 views
6

Yerel bir repo'um ve github'da bir uzaktan yanıtım var. İş nedenleriyle senkronize edilmezler. Yerelde çok çalışıyorum, tuttuğum, ve şimdi de uzaktan kumandaya yeni olanı ekleyerek, yerel bölgeme el ekliyorum. Şubesi yok. git diff - uzaktan kumandadaki yenilikler

Ben komutunu kullanın

,

git diff --color master..origin/master 

alıyorum iyi sonuçlar, nelerin değiştiğini gösteren .... Ben ile işaretlenmiştir yerel repo eklenen ne - işareti ve kırmızı gösterilir; uzaktan kumandadaki + işareti ile yeşil renkte gösterilir.

ürününü göstermenin bir yolu var, yalnızca uzaktan adresinde bulunan ve yerelde olmayan nedir? Yani, uzaktaki tüm yeni dosyaları göster ve uzaktan kumandadaki tüm yeni veya değiştirilmiş satırları göster bana (tüm yeşilleri göster)

teşekkürler.

+0

o kadar basit olduğu gibi: 'diff color master..origin/ustası | grep + ' –

+0

Yanıtladığınız için teşekkür ederiz. İzlenen bazı dosyaların metninde + varsa, bu çalışmaz. Başka bir yol var mı? P.S. Git ve terminale yeniyim. :-) – Darby

+1

'grep^+'? –

cevap

1

Sen ortak atanın ile diff yapabilirsiniz:

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

Veya ile

senin önceki getirme:

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

Sana komuta iki kolu arasında kalan 3 nokta koyabilirsiniz inanıyoruz ve sonra oluyor sadece neyin yeni birinciye göre ikinci, yani

git diff master...feature 

yenilikleri görmek için Özellik hakkında ve master'da neyin yeni olduğunu görmek için

. Durumunda origin/master olabilir ve bu iyi çalışması gerekir.

+2

Right: 'git diff' için üç nokta,' git log' için iki nokta! http://stackoverflow.com/a/14426939/6309 ve http://stackoverflow.com/a/7256391/6309 – VonC

0

git help rev-list'a bakmayı deneyin. muhtemelen aradığınız seçenek yani belki bu istediğini alır, --right-only geçerli:

git diff --color --right-only master..origin/master