Aracılığıyla paylaş


Fark komutu

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Team Foundation Sürüm Denetimi (TFVC) difference komutu, iki dosya, iki klasördeki dosyalar veya raf kümesi ile yerel veya sunucu dosyası arasındaki farkları karşılaştırır ve mümkünse görüntüler.

Önkoşullar

komutunu kullanmak difference için, belirtilen tüm öğeler için Okuma izninizin İzin Ver olarak ayarlanmış olması gerekir. Daha fazla bilgi için bkz . Varsayılan TFVC izinleri.

Sözdizimi

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure

Parametreler

Bağımsız değişkenler

Bağımsız değişken

Açıklama

<itemspec>

Gerekli. Karşılaştırılacak öğeyi belirtir. Sürüm veya yol belirtilmezse geçerli çalışma alanı sürümü varsayılır. Hem yerel hem de Azure DevOps sunucu yollarını kabul eder.

TFVC'nin hangi öğelerin kapsam içinde olduğunu belirlemek için öğesini nasıl ayrıştırdığı itemspec hakkında daha fazla bilgi için bkz . Team Foundation sürüm denetimi komutlarını kullanma.

Komut difference joker karakterleri desteklemez.

Bu parametre seçeneğiyle /shelveset birleştirilemiyor.

<itemspec2>

isteğe bağlı. Karşılaştırılacak öğe itemspec . İkinci itemspecbir sağlamazsanız öğenin en son Azure DevOps sunucu sürümü kullanılır.

<filetype>

seçeneği için /type bir değer sağlar. Bir kod sayfası için veya text ve kod sayfası numarası ya da kolay ad belirtebilirsinizbinary.

<format>

Aşağıdaki türlerden birinin çıkış biçimini belirtme seçeneğiyle birlikte /format kullanılır:

  • Visual
  • Brief
  • Context
  • RCS
  • SS
  • SS_SideBySide
  • SS_Unix
  • Unified
  • Unix

Bu çıkış biçimleri Açıklamalar bölümünde açıklanmıştır.

<versionspec>

Seçeneği için /version kullanıcı tarafından sağlanan değer. TFVC'nin kapsamı içinde hangi öğelerin olduğunu belirlemek için bir sürüm belirtimini nasıl ayrıştırdığı hakkında daha fazla bilgi için bkz . Team Foundation sürüm denetimi komutlarını kullanma.

<shelvesetowner>

Raf kümesinin sahibini kullanıcı adına göre tanımlar. Bu parametre için bir değer sağlanmazsa geçerli kullanıcı varsayılır.

<shelvesetname>

Raf kümesinin adını belirtir. Her raf kümesinin sahibi farklı bir kullanıcı olduğu sürece, TFVC çalıştıran sunucuda aynı ada sahip birden fazla raf kümesi oluşturabilirsiniz.

<shelveset_itemspec>

Raf kümesindeki bir klasörün veya dosyanın adını, temel raf kümesi sürümüyle karşılaştıracak şekilde belirtir.

<username>

seçeneğine /login bir değer sağlar. Kullanıcı adı değerini veya usernameolarak DOMAIN\username belirtebilirsiniz.

Seçenekler

Seçenek

Açıklama

/type

Algılanan tüm kodlamaları geçersiz kılar ve belirtilen kodlamayı kullanarak dosyaları fark kayıt altyapısına sunar.

/version

Karşılaştıracak dosya veya klasörün sürümünü belirtir. Varsayılan olarak, bir sağlamazsanız versionspecTFVC çalışma alanı sürümünü kullanır.

bayrağını /version kullanmak yerine, her dosya adının sonuna noktalı virgül ve sürüm tanımlayıcısı ekleyerek sürümleri belirtebilirsiniz.

/format

Bağımsız değişken tarafından format belirtilen bir çıkış biçimini belirtir.

/ignorespace

Karşılaştırılan dosyalar arasındaki boşluk farklarını vurgulamaz.

/ignoreeol

İki dosya veya dosya sürümündeki yeni satır karakterleri arasındaki farkları yoksayar. /ignoreeol , sekiz boşluğu aynı şekilde bir alanla aynı şekilde ele alan uygulamasından farklı ignorespaceçalışır. Ancak, seçeneğini kullanırsanız /ignoreeol ve Dosya A değişmemiş metin alanları arasında iki yeni satır karakterine sahipse ve Dosya B'de bir tane varsa, sonuç bir fark olarak görüntülenir. Her iki dosyada da yalnızca bir yeni satır varsa, ancak A Dosyası yeni satır olarak kullanıyorsa \r\n ve B Dosyası kullanıyorsa\n/ignoreeol, seçenek bunu fark olarak yoksayar.

/ignorecase

Karşılaştırılan dosyalar arasındaki harf büyük/küçük harf farklarını vurgulamaz.

/recursive

Geçerli klasör ile tüm alt klasörleri arasındaki farkları karşılaştırır.

/options

tarafından differenceçağrılacak araç için bir seçenek dizesi belirtir. Daha fazla bilgi için bkz . Dosya türünü fark aracıyla ilişkilendirme ve Dosya türünü birleştirme aracıyla ilişkilendirme.

/shelveset

Raf kümesinin temel aldığı Azure DevOps sunucu sürümüyle karşılaştırılan bir raf kümesi belirtir.

Bu seçenek bağımsız itemspec değişkenle birleştirilemiyor. Tek tek raf kümesi öğelerini karşılaştırmak için bir shelveset_itemspecsağlayabilirsiniz.

/noprompt

Bu işlemin tamamlanması sırasında aksi halde görüntülenecek tüm iletişim kutularını gizler.

/configure

Visual Studio kullanıcı arabiriminden Kullanıcı Araçlarını Yapılandır iletişim kutusunu çağırır. Daha fazla bilgi için bkz . Dosya türünü fark aracıyla ilişkilendirme.

/login

TFVC ile kullanıcının kimliğini doğrulamak için kullanıcı adını ve parolayı belirtir.

Açıklamalar

Not

Bu komutu çalıştırmak için komut satırına veya tf difference yazabilirsiniztf diff.

aşağıdakiler arasındaki farkları difference karşılaştırmak ve mümkünse görüntülemek için komutunu kullanabilirsiniz:

  • Aynı dosyanın iki farklı dosyası veya iki sürümü.

  • Klasördeki öğelerden biri veya daha fazlası.

  • Azure DevOps sunucusundaki raf kümesindeki öğelerden biri, bazıları veya tümü.

Hem sürümlenmiş hem de sürümlenmemiş dosyaları karşılaştırmak için komutunu kullanabilirsiniz difference .

TFVC tüm dosyaları türe göre kategorilere ayırır. Her iki dosya da aynı kodlamaya sahip olduğu sürece metin dosyaları birleştirilebilir ve karşılaştırılabilir. Kodlamaları aynı olmayan iki dosyayı karşılaştırmak istiyorsanız, seçeneğini kullanarak /type bir dosyanın kodlama özelliğini geçici olarak maskeleyebilir veya geçersiz kılabilirsiniz.

İkili dosyalar karşılaştırılabilir ancak birleştirilemiyor. Komuta bir veya daha fazla ikili dosya difference geçirdiğinizde, TFVC bu dosyayla karşılaştırıldığı öğe arasında fark olup olmadığını gösterir. TFVC'nin farklı türlerdeki dosyaları nasıl ayırt edip ele aldığı hakkında daha fazla bilgi için bkz . Dosya türlerini yönetme.

İki dosya adı belirtirseniz, iki dosya karşılaştırılır. /version bayrağını kullanmak yerine, her dosya adının sonuna noktalı virgül ve sürüm tanımlayıcısı ekleyerek sürümleri belirtebilirsiniz.

Fark komutuna yalnızca bir tane itemspec geçirirseniz:

  • sağlamazsanız versionspec, öğenin geçerli çalışma alanı sürümünüz varsayılan olarak temel çalışma alanı sürümüyle karşılaştırılır. Örneğin, tf difference header.h header.h dosyasının geçerli sürümünü header.h dosyasının temel aldığı sürümle karşılaştırır.

  • gibi bir versionspec itemspectf difference header.h;LBeta1eklerseniz, TFVC bu sürümü diskteki geçerli çalışma alanı sürümünüzle karşılaştırır.

  • gibi /version:C1~C4bir sürüm aralığı belirtirseniz, aralığın iki uç noktasındaki dosyanın sürümleri karşılaştırılır.

Komut satırı yardımcı programını kullanma tf hakkında daha fazla bilgi için bkz . Team Foundation sürüm denetimi komutlarını kullanma.

Çıkış biçimi türleri

format seçeneğiyle /format kullanılan parametresi birçok farklı çıkış biçimi belirtir. Aşağıdaki çıkış türleri kullanılabilir:

  • Visual biçim türü bir dış fark uygulaması açar. Varsayılan olarak, diffmerge.exe başlatılır.

  • Brief biçimi, karşılaştırılan dosyaların farklı olup olmadığını yazdırır.

  • Context biçimi, dosyalardaki farklar için bağlam çizgileri sağlar. Bu biçim UNIX tabanlı diff -c çıkış biçiminden türetilir.

  • RCS biçim ile benzerdir /format:unix, ancak bağlam çizgileri sağlanmamıştır. Dosyanın sonunda eksik satır sonu işaretçisi için özel bir iletim sağlanmadı.

  • SS, Görsel Kaynak Kasa için varsayılan fark çıkış biçimidir. Daha fazla bilgi için bkz . Fark (komut satırı).

  • SS_SideBySide, Visual Source Kasa için varsayılan yan yana çıkış biçimidir.

  • SS_Unix çıkış biçimine /format:unix benzer, ancak /format:ss_unix bağlam çizgileri içerir ve /format:unix içermez.

  • Unified biçimi UNIX tabanlı diff -u çıkış biçiminden türetilir. /format:context fark dizeleri arasında özdeş bağlam çizgilerini yineler, ancak /format:unified yinelemez.

    Unified biçimi, yalnızca bir sonraki fark dizesine olan uzaklık bağlam çizgilerinin sayısından büyük olduğunda yeni bir birleşik fark dizesi (@@ ... @@) çizgisi oluşturur.

  • Unix çıkış türü UNIX tabanlı diff komut çıktı biçiminden türetilir.

    Çıkış Unix biçimi aşağıdaki şekilde oluşturulur:

    <metadataline>
    "< " line prefix for lines from the first file
    "---" line
    "> " line prefix for lines from the second file
    
    <metadataline> can be one of these possibilities:
    #a#,# -- add lines from line # in file1 into file2 at lines #->#
    #,#d# -- delete lines from line # -> # in file 1 from file2 at line #
    #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> #
    
    # signs separated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file.
    # signs after the character indicate line numbers in the second file.
    
    /// No end of line marker at the end of the file:
    /// \ No newline at end of file
    

Örnekler

Aşağıdaki örnek, 314.cs yerel sürümü ile Azure DevOps sunucusundan kullanıma alınan dosyanın sürümü olan 314.cs çalışma alanı sürümü arasındaki farkları görüntüler.

c:\projects>tf difference 314.cs

Aşağıdaki örnek, src klasöründe değiştirilmiş olan tüm dosyaları görüntüler, ancak src'nin alt klasörlerinde değiştirilmiş dosyaları görüntülemez.

c:\projects>tf difference src /format:visual

Aşağıdaki örnekte, değişiklik kümesi 3 ile 1254.cs değişiklik kümesi 8 arasındaki farklar gösterilir.

c:\projects>tf difference /version:C3~C8 1254.cs

Aşağıdaki örneklerde etikete release ait 314.cs sürümü ile değişiklik kümesi 3200'e ait sürüm arasındaki farklar gösterilir.

c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200

-veya-

c:\projects>tf difference 314.cs;Lrelease~C3200

Aşağıdaki örnek, Pat adlı kullanıcının raf kümesinde PeerCodeReview8 rafa aldığı e271.cs sürümleri ile değişikliklerini temel aldığı temel raf kümesi sürümü arasındaki farkı gösterir. Çıkış ayrıca, kullanıcı rafa kaldırıldığında bekleyen e271.cs değişiklik türlerini de gösterir.

c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs

Aşağıdaki örnek, raf kümesindeki PeerCodeReview2 tüm dosyalar ile bu dosyaların temel raf kümesi sürümü arasındaki farkları görüntüler.

c:\projects> tf difference /shelveset:PeerCodeReview2