Git ve bazı Git farklarında ayrıntılı olarak nasıl değişiklik gösterileceği


203

Git'te taahhüt edilmemiş değişiklikleri nasıl gösterebilirim?

Ben STFW'ed ve bu komutlar çalışmıyor:

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git status
On branch teyan/psservice
Your branch is up-to-date with 'origin/teyan/psservice'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   psservice.c
        modified:   psservice.vcxproj.filters


teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff master
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Yanıtlar:


373

Git'te taahhüt edilmemiş değişiklikler nasıl gösterilir?

Aradığınız komut git diff.

git diff - Taahhütler, taahhüt ve çalışma ağacı vb. Arasındaki değişiklikleri göster


İşte kullanabileceğiniz bazı seçenekler şunlardır

git diff(parametre yok)
Çalışma dizininiz ile dizin arasındaki farkları yazdırın.

git diff --cached: Dizin ve HEAD
arasındaki farkları yazdırın (geçerli taahhüt).

git diff HEAD: Çalışma dizininiz ve KAFA
arasındaki farkları yazdırın .

git diff --name-only
Yalnızca değiştirilen dosyaların adlarını göster.

git diff --name-status
Yalnızca değiştirilen dosyaların adlarını ve durumlarını göster .

git diff --color-words
Kelime kelime satır satır yerine fark.

İşte çıktı için bir örnek git diff --color-words:

resim açıklamasını buraya girin


resim açıklamasını buraya girin


2
Sonunda iki nokta üst üste istemini gördüğünüzde, git ilk sayfayı gösterdiği anlamına gelir - diğer değişikliklere adım atmak için enter tuşuna basın (kedi dosyasıyla yapabileceğiniz gibi | devamı)
NULL pointer

42

Değişiklikleri zaten hazırladınız (muhtemelen git addçalışarak), bu yüzden farklarını elde etmek için çalıştırmanız gerekir:

git diff --cached

(Bir ovada git diffyalnızca işaretsiz değişiklikler gösterilir.)

Örneğin: Git fark önbellek kullanımı örneği


0

Benim için çalışan tek şey

git diff HEAD

aşamalı dosyalar dahil, git diff --cachedyalnızca aşamalı dosyaları gösterir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.