Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Visual Studio'da gerçekleştirebileceğiniz neredeyse tüm Team Foundation Sürüm Denetimi (TFVC) görevlerini gerçekleştirmek için sürüm denetimi komutlarını kullanabilirsiniz. Visual Studio'da yapılamayan birkaç görevi gerçekleştirmek için sürüm denetimi komutlarını da kullanabilirsiniz. Sürüm denetimi komutlarını komut isteminden veya betik içinde çalıştırmak için tf.exe
aracını kullanırsınız.
Komut çalıştırma
Visual Studio komut istemini başlatmak için, Windows Başlatbölümünden VS2022 için Geliştirici Komut İstemi veya önceki sürüm kısayolunu seçin.
Uyarı
Visual Studio 2019 ve sonraki sürümlerde tf.exe
ikili dosyası, önceki bazı sürümlerde olduğu gibi Visual Studio yükleme yolunda sabit bir konumda değildir, örneğin C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
. Betiğiniz tf.exe
kullanıyorsa, Visual Studio yükleme yolunu temel alarak dosyanın yolunu sabit kodlamayın.
Çoğu durumda, sürüm denetimi komutunu çalışma alanına eşlenmiş bir dizin bağlamında çalıştırırsınız. Örneğin, $/SiteApp/Main/
c:\\code\\SiteApp\\Main\\
ile eşlenir. Çalışma alanı içindeki tüm öğelerin en son sürümünü almak için aşağıdaki komutu kullanın:
c:\code\SiteApp\Main\SolutionA>tf get
Geliştirme makinenizi ayarlama ve çalışma alanlarını yönetme
Çalışma alanınız, ekibinizin kod tabanının yerel bir kopyasıdır. Geliştirme makinenizde yerel bir kopya olduğu için, kodunuzu bağımsız olarak geliştirebilir ve test edebilir, böylece işinizi teslim etmeye hazır olana kadar çalışmalarınızı sürdürebilirsiniz. Çalışma alanınızı yönetmek için bazı komutlar şunlardır:
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
- Geliştirme makinenizde Team Foundation Sürüm Denetimi ayarlama
- Çalışma alanları oluşturun ve onlarla çalışın
Uygulamanızı geliştirme
Uygulamanızı ekibinizle sürüm denetimi altında geliştirmek için şu komutları kullanın:
- Komut ekle: Sürüm denetimine dosya ve klasör ekler.
- Kullanıma Al (veya Düzenle) komutu: Bir dosyayı kullanıma alır ve bekleyen değişiklik durumunu düzenlemeolarak değiştirir.
- Delete komutu (Team Foundation Sürüm Denetimi): Azure DevOps sunucusundan dosya ve klasörleri kaldırır ve diskten siler.
- Get komutu: Azure DevOps Server'dan çalışma alanına bir veya daha fazla dosya veya klasörün en son sürümünü veya belirtilen sürümünü alır (indirir).
- Yeniden Adlandır komutu (Team Foundation Sürüm Denetimi): Dosya veya klasörün adını veya yolunu değiştirir.
- Durum komutu: Çalışma alanlarındaki veya raf kümesindeki dosya ve klasörlerde bekleyen değişiklikler hakkındaki bilgileri görüntüler.
- Geri Al komutu: Dosya veya klasörlerde belirtilen bekleyen değişiklikleri iptal eder.
- Geri Alma komutu: Daha önce silinmiş olan öğeleri geri yükler.
Daha fazla bilgi için bkz. Team Foundation sürüm denetiminde uygulamanızı geliştirme .
Çalışmanızı askıya alma
Çeşitli nedenlerle, bazen devam eden çalışmalarınızın bir kısmını veya tümünü ayırmanız gerekir. Çalışmanızı askıya alıp sürdürmek ve raf kümelerinizi yönetmek için şu komutları kullanın:
- Shelve komutu
- raf kümeleri komutu
- Kaldır komutu
Daha fazla bilgi için bkz. Çalışmanızı askıya alma ve raf kümelerinizi yönetme.
Çalışmanıza katkıda bulunma
kodunuzu ekibin kod tabanına iade etmek için checkin
komutunu kullanın:
- Check-in komutu: Sunucuya dosya veya klasörlerdeki bekleyen değişiklikleri gönderir.
Daha fazla bilgi için bkz. Ekibin kod tabanında çalışmanızı denetleme.
Dosyaları yönetme ve sorunları çözme
Dosyaları yönetmek için aşağıdaki bölümlerde yer alan kaynakları kullanın.
Sürüm denetimi dosyalarını ve klasörlerini görüntüleme ve yönetme
- Özellikler (veya Bilgi) komutu: Sürüm denetimindeki öğeler hakkındaki bilgileri görüntüler.
- Dir komutu: Sürüm denetim sunucusunun içeriğini görüntüler.
- Destroy komutu (Team Foundation Sürüm Denetimi): Sürüm denetimli dosyaları kalıcı olarak siler.
- LocalVersions komutu: Çalışma alanı öğelerinin sürümlerini görüntüler.
Daha fazla bilgi için bkz. Kaynak Denetim Gezgini'ni kullanaraksürüm denetimi altındaki dosyaları yönetme.
Geçmiş sürümleri görüntüleme ve yönetme
- Değişiklik Kümesi komutu: Değişiklik kümesi özniteliklerini değiştirir veya görüntüler.
- Geçmiş komutu: Dosya veya klasörlerin düzeltme geçmişini görüntüler.
- Label komutu (Team Foundation Sürüm Denetimi): Dosya veya klasörlerdeki etiketleri ekler veya kaldırır.
- Etiketleri komutu: Sunucuda kullanılan etiketler hakkındaki bilgileri görüntüler.
- Geri Alma komutu (Team Foundation Sürüm Denetimi): Değişiklik kümelerinin etkilerini geri alır.
- Etiketi Kaldır komutu: Sunucudaki mevcut etiketten bir öğeyi kaldırır.
- Görünüm komutu: Bir dosyanın belirtilen sürümünü alır ve görüntüler.
Daha fazla bilgi için bkz. Geçmiş sürümleri görüntüleme ve yönetme.
Klasörleri ve dosyaları karşılaştırma
- Fark komutu: Dosyalar ve raf kümeleri arasındaki farkları karşılaştırır.
- Folderdiff komutu: İki klasördeki dosyalar arasındaki farkları karşılaştırır.
Daha fazla bilgi için bkz. Geçmiş sürümleri görüntüleme ve yönetme.
Dosya çakışmalarını çözme
- Çözümle komutu: Çalışma alanınızdaki ve sunucudaki öğeler arasındaki çakışmaları çözer.
Daha fazla bilgi için Team Foundation Sürüm Denetimi çakışmalarını çözme bölümüne bakın .
Sürüm denetimi kilitleriyle çalışma
- Lock komutu: Dosya ve klasörleri kilitler veya kilidini açar.
Daha fazla bilgi için bkz. sürüm denetimi kilitleriyle çalışma.
Riski yalıtma
Dalları kullanarak riski yalıtmak için aşağıdaki komutları kullanın:
- Branch komutu
- dalları komutu
- Birleştir komutu
- Birleştir komutu
Daha fazla bilgi için, Team Foundation Sürüm Denetimi'nde riski yalıtmak için dalları kullanma konusuna bakın .
Sürüm denetimini yönetme
Sürüm denetim sisteminizi yönetmek için aşağıdaki komutları kullanın:
- Komut yapılandır
- İzin komutu
Daha fazla bilgi için çıkış ayarlarını yapılandırmabölümüne bakın.
Sürüm denetimi komutları hakkında yardım alma
Sürüm denetimi komutları hakkında ayrıntılı bilgi almak için aşağıdaki komutları kullanın:
Komut söz dizimlerini anlama
Her komutun söz dizimi, her başvuru makalesinin en üstünde görünür.
Gerekli ve isteğe bağlı parametreler
Parantez içermeyen argümanlar gereklidir. Köşeli parantezler bir komutu tamamlamak için gerekli olmayan isteğe bağlı bağımsız değişkenleri gösterir. Ancak, bazı isteğe bağlı bağımsız değişkenler, seçeneği belirtmeseniz bile komuta uygulanan varsayılan değerlere sahiptir.
Özel bağımsız değişkenler
Seçenekler dikey çizgi ile (|) ayrıldığında, seçeneklerden birini seçebilirsiniz.
Ayrıntılı ve değiştirilebilir bağımsız değişkenler
Köşeli ayraç içine alınmamış öğeler, aynen eklemeniz gereken seçeneklerdir. Açılı parantez (< ve >) içine alınmış öğeler, komutu gerçekleştirmek için gerçek karakterlerle değiştirmeniz gereken bağımsız değişkenlerdir.
Komut kısayolları ve diğer adlar
Bazı komutlar kısayolları destekler. Örneğin, tf delete
veya tf del
ile Delete komutunu çağırabilirsiniz.
Örnek
Örneğin, Çıkış komutunugöz önünde bulundurun:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]
Bu örnek aşağıdaki argümanları içerir:
-
<item-spec>
: Bu bağımsız değişkeni, kontrol ettiğiniz öğeleri tanımlayan bir öğe belirtimi ile değiştirmeniz gerekir. - Aşağıdaki bağımsız değişkenler isteğe bağlıdır. Bunları sağlamazsanız, bunların etkilerinden hiçbiri komut için geçerli değildir:
-
/lock:(none|checkin|checkout)
:/lock
seçeneğini belirtmezseniz sistem varsayılan olarak/lock:none
kullanır. Aksi takdirde, diğer kilit seçeneklerinden birini belirtebilirsiniz. -
/recursive
: Bir klasördeki birden çok öğeyi yinelemeli olarak kullanıma almak istiyorsanız, bu seçeneği ayrıntılı olarak belirtmeniz gerekir. -
/login:<username>, <password>
: Komutu başka bir kullanıcı olarak çalıştırmak istiyorsanız,/login
seçeneğini belirtmeli ve<username>
kullanıcı adıyla değiştirmelisiniz. Gerekirse<password>
yerine kullanıcının parolasını yazın.
-
Komuttan etkilenen öğeleri belirtme
Komuttan hangi öğelerin etkileneceğini belirtmek için öğe belirtimlerini ve sürüm belirtimlerini kullanabilirsiniz.
Etkilenen öğeleri belirtmek için bir öğe belirtimi bağımsız değişkeni kullanma
Bir komuttan etkilenen öğeleri belirtmek için bir öğe belirtimi kullanırsınız. Öğeleri bir istemci makinesinde veya Azure DevOps sunucunuzda belirtebilirsiniz. * ve gibi joker karakterler kullanabilirsiniz..
Müşteri öğesi belirtimleri argümanları
İstemci öğe belirtimi argümanı, istemci makinesindeki öğelerin yolunu belirtir: örneğin
- Örneğin, c:\code\SiteApp\Main\SolutionA\ bir klasör.
- Bir dosya, örneğin, c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
- Birden çok dosya, örneğin, c:\code\SiteApp\Main\SolutionA\*.cs .
- \\myshare\code\SiteApp\Main gibi bir evrensel adlandırma kuralı (UNC) yolu.
Sunucu öğesi spesifikasyon bağımsız değişkenleri
Sunucu öğesi belirtimi argümanı, Azure DevOps sunucunuzdaki öğelerin yolunu belirtir: örneğin,
- $/SiteApp/Main/SolutionA gibi bir klasör.
- Örneğin, bir dosya: $/SiteApp/Main/SolutionA/Project1/program.cs.
- $/SiteApp/Main/SolutionA/*.cs gibi birden çok dosya.
Genellikle istemci makinesinde olmayan öğelerde bir komut çalıştırmanız gerektiğinde sunucu öğesi belirtimi bağımsız değişkenlerini kullanırsınız. Örneğin, bir geliştirme makinesi üzerinde çalıştığınızı varsayalım. Çalışmadığınız bir proje koleksiyonundaki bazı öğeler hakkında düzeltme geçmişi verileri almanız gerekiyorsa, aşağıdaki komutu kullanabilirsiniz:
c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Birden çok öğe belirtim bağımsız değişkenleri
Bazı komutlar için, birden çok öğe tanımlama bağımsız değişkeni belirtebilirsiniz, örneğin:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Bu komut program.cs ve program2.cdosyalarını çeker.
Öğelerin etkilenen sürümlerini belirtmek için sürüm belirtme bağımsız değişkenini kullanın.
Bir komuttan etkilenen öğelerin sürümünü belirtmek için bir sürüm belirtimi kullanırsınız. Sürüm belirtimi sağlamak için şunları yapabilirsiniz:
/version
seçeneğini kullanın, örneğin,/version:C44
.Sürüm belirtimini noktalı virgülle bir öğe belirtimine (örneğin,
program1.cs;C44
) ekleme.
Geçmişi komutunu veya Fark komutunukullandığınızda, sürümleri bir tilde ile ayırarak bir sürüm aralığı belirtebilirsiniz, örneğin:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022
Bir sürüm belirtimi belirtmek için aşağıdaki söz dizimini kullanın:
Türü | Sözdizimi | Açıklama | Örnekler | Sonuç |
---|---|---|---|---|
Değişiklik kümesi | [C]<version-number> |
Öğeleri değişiklik kümesi numarasına göre belirtir. Kapsamdaki bir öğe belirtilen değişiklik kümesinde değiştirilmediyse, sistem belirtilen değişiklik kümesinden önce oluşan öğenin en son sürümünü alır. Yalnızca bir sayı belirtirseniz C atlayabilirsiniz. |
tf get readme.txt /v:C8 tf get readme.txt /v:8 tf get readme.txt;8 |
readme.txt değişiklik kümesi 8'de değiştirildiyse, örnek kod dosyanın bu sürümünü alır. Aksi takdirde, sürüm 8'inden önceki readme.txt'nin en son sürümünü alır. |
Etiket | L<label> |
Bir etiketin uygulandığı öğeleri belirtir. | tf get readme.txt;LJulyHotFix tf get /version:LLastKnownGood |
İlk örnek, JulyHotFixetiketli readme.txt sürümünü alır. İkincisi, lastKnownGood etiketli değişiklik kümesi oluşturulduğunda çalışma alanında bulunan tüm etiketli öğelerin sürümünü alır (ve etiketlenmemiş öğeleri siler). İkinci örnekteki kodu otomatik derleme işleminin bir parçası olarak kullanabilirsiniz. |
Tarih ve saat | D<yyyy-mm-ddTxx:xx> veya D<mm/dd/yyyy> veya .NET Framework tarafından desteklenen herhangi bir biçim. veya Yerel makinede desteklenen tarih biçimlerinden herhangi biri. |
Belirli bir tarihte belirli bir zamanda oluşturulan değişiklik kümesini belirtir. | tf get /version:D2022-03-22 tf get /version:D2022-03-22T09:00 |
İlk örnek, çalışma alanını 22 Mart 2022'de gece yarısı var olan kod tabanıyla eşleşecek şekilde güncelleştirir. İkincisi, çalışma alanını 22 Mart 2022 saat 09:00'da var olan kod tabanıyla eşleşecek şekilde güncelleştirir. .NET Framework tarafından desteklenen tarih ve saat biçimleri hakkında daha fazla bilgi için bkz. DateTime ve Standart tarih ve saat biçimi dizeleri. |
Geçerli çalışma alanı | W |
Çalışma alanınızdaki sürümü belirtir. | - | - |
Belirtilen çalışma alanı | W<workspace-name>; <workspace-owner> |
Belirtilen çalışma alanında sürümü belirtir. | tf get /version:WResolveRIConflicts;PatW |
Örnek, PatW 'in sahip olduğu ResolveRIConflicts çalışma alanındaki sürümü belirtir. |
Tavsiye | T |
En son sürümü belirtir. | - | - |
Komut işlevlerini değiştirmek için seçenekleri kullanma
Komut işlevlerini değiştirmek için bazı yaygın seçenekleri kullanabilirsiniz.
Veri giriş isteklerini engellemek ve çıkış verilerini yeniden yönlendirmek için /noprompt
seçeneğini kullanın
Veri girişi isteklerini engellemek ve çıktı verilerini komut istemi penceresine yeniden yönlendirmek için /noprompt
seçeneğini kullanın. Bu seçenek, aşağıdaki durumlarda bir betikte sürüm denetimi komutlarını kullanmanız gerektiğinde yararlı olabilir:
- Komut, kullanıcının müdahalesi olmadan devam eder.
- Betiğin üzerinde ayrıştırma veya yakalama gibi işlemler gerçekleştirmesi için veriler kullanılabilir.
Bu seçeneği kullandığınızda sistem:
Giriş için tüm istekleri gizler:
- Sorular komut istemi penceresinde sorulmuyor. Örneğin, bu seçenekle Geri Al komutunu kullandığınızda, sistem değişiklikleri geri almak isteyip istemediğinizi onaylamanızı istemez.
- Windows ve iletişim kutuları görüntülenmez. Örneğin, bu seçeneği Checkin komutuylakullanabilirsiniz. Sistem, öğeleri ve ilişkili iş öğelerini onaylamanız için Check In iletişim kutusunu görüntülemez. Bunun yerine, sistem öğeleri onay olmadan denetler.
Çıktı verilerini komut istemine yönlendirir. Örneğin, bu seçeneği Geçmişi komutuyla kullanabilirsiniz. Veriler, Geçmişi penceresi yerine komut istemi penceresinde görüntülenir.
Kimlik bilgilerini belirtmek için /login
seçeneğini kullanın
komutunun çalıştırılacak Azure DevOps sunucusu kullanıcı hesabını belirtmek için /login
seçeneğini kullanın. Bu seçenek, başka bir ekip üyesinin makinesinde çalışırken yararlı olabilir.
Örneğin, ekip üyenizin geliştirme makinesinde çalıştığınızı varsayalım. Daha önce kilitlediğiniz bir dosyanın kilidini açmak için Lock komutunu kullanırsınız:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>
Komut isteminde parolanızın görünmesini önlemek istiyorsanız, komutu parola olmadan girebilirsiniz:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>
Bu komutu girdikten sonra sistem, girişinizi maskeleyen bir iletişim kutusuna parolanızı girmenizi ister.
Kilidi uygulamak veya kaldırmak için /lock
seçeneğini kullanın
Önemli
En iyi uygulama olarak, /lock
seçeneğini isteğe bağlı olarak kullanın. Bir öğeyi neden kilitlediğiniz ve kilidi ne zaman kaldırmayı planladığınızı ekip arkadaşlarınıza bildirin.
/lock
seçeneğini kullanarak, Ekle veya Düzenlegibi başka bir komut çalıştırdığınızda bir kilidi uygulayın veya kaldırın.
/lock:(none|checkin|checkout)
/lock
komutu aşağıdaki seçenekleri kullanır:
None
: Bir öğeye kilit yerleştirilmemiştir. Bir kilit zaten mevcutsa kaldırılır.Checkin
veyaCheckout
: Bir kilit uygulanır. Daha fazla bilgi için bkz. Kilit türlerini anlama.
Uyarı
Birkaç durumda kilit işlemi başarısız olabilir:
Seçenek kısayollarını kullanma
Aşağıdaki seçenekleri kısaltabilirsiniz.
Seçenek
Seçenek Takma Adı
/comment
-C
/computer
-M
/delete
-D
/force
-P
/format
-F
/help
-?, -H
/lock
-K
/login
-Y
/newname
-N
/noprompt
-I
/owner
-O
/recursive
-R
/server
-S
/slotmode
-X
/template
-T
/user
-U
/version
-V
/workspace
-W
Çıkış kodlarını anlama
Sürüm denetimi komutları aşağıdaki çıkış kodlarını döndürür:
Çıkış Kodu
Tanım
0
Başarı.
1
Kısmi başarı. En azından bir şey ya da muhtemelen her şey başarılı olamadı.
2
Tanınmayan komut.
100
Hiçbir şey başarılı olmadı.
Örneğin, aşağıdaki komutu çalıştırdığınızı varsayalım:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Sunucuda bulunmayan bir dosyayı indirmeye çalışıyorsanız, bu durumda komut kısmi başarıyı göstermek için 1 döndürür.