Bagikan melalui


Gunakan perintah kontrol versi Team Foundation

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Visual Studio 2019 | Visual Studio 2022

Anda dapat menggunakan perintah kontrol versi untuk melakukan hampir semua tugas Team Foundation Version Control (TFVC) yang dapat Anda lakukan di Visual Studio. Anda juga dapat menggunakan perintah kontrol versi untuk melakukan beberapa tugas yang tidak dapat dilakukan di Visual Studio. Untuk menjalankan perintah kontrol versi dari prompt perintah atau dalam skrip, Anda menggunakan alat tf.exe.

Menjalankan perintah

Untuk meluncurkan prompt perintah Visual Studio, dari Windows Mulai, pilih Prompt Perintah Pengembang untuk VS2022 atau pintasan versi yang lebih lama.

Nota

Untuk Visual Studio 2019 dan versi yang lebih baru, biner tf.exe tidak lagi berada di lokasi tetap di jalur penginstalan Visual Studio seperti pada beberapa rilis sebelumnya, misalnya, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE. Jika skrip Anda menggunakan tf.exe, jangan mengkodekan jalur ke file berdasarkan jalur penginstalan Visual Studio.

Dalam kebanyakan kasus, Anda menjalankan perintah kontrol versi dalam konteks direktori yang dipetakan di ruang kerja. Misalnya, $/SiteApp/Main/ dipetakan ke c:\\code\\SiteApp\\Main\\. Untuk mendapatkan versi terbaru semua item di ruang kerja, gunakan perintah berikut:

c:\code\SiteApp\Main\SolutionA>tf get

Menyiapkan mesin pengembangan Anda dan mengelola ruang kerja

Ruang kerja Anda adalah salinan lokal basis kode tim Anda. Karena ini adalah salinan lokal di komputer pengembangan Anda, Anda dapat mengembangkan dan menguji kode Anda dalam isolasi sampai Anda siap untuk memeriksa pekerjaan Anda. Berikut adalah beberapa perintah untuk mengelola ruang kerja Anda:

Untuk informasi selengkapnya, lihat sumber daya berikut ini:

Mengembangkan aplikasi Anda

Gunakan perintah ini untuk mengembangkan aplikasi Anda di bawah kontrol versi dengan tim Anda:

Untuk informasi selengkapnya, lihat mengembangkan aplikasi Anda menggunakan kontrol versi Team Foundation.

Menangguhkan pekerjaan Anda

Untuk berbagai alasan, terkadang Anda perlu menghentikan sementara beberapa atau semua pekerjaan Anda yang sedang berlangsung. Untuk menangguhkan dan melanjutkan pekerjaan Anda, serta mengelola shelveset Anda, gunakan perintah ini:

Untuk informasi selengkapnya, lihat Menangguhkan pekerjaan Anda dan mengelola set rak.

Berkontribusi pada pekerjaan Anda

Gunakan perintah checkin untuk memeriksa kode Anda ke basis kode tim:

Untuk informasi selengkapnya, lihat Masukkan pekerjaan Anda ke dalam basis kode tim.

Mengelola file dan menyelesaikan masalah

Gunakan sumber daya di bagian berikut untuk mengelola file.

Menampilkan dan mengelola file dan folder kontrol versi

Untuk informasi selengkapnya, lihat Menggunakan Penjelajah Kontrol Sumber untuk mengelola file di bawah kontrol versi.

Menampilkan dan mengelola versi sebelumnya

Untuk informasi selengkapnya, lihat Lihat dan kelola versi sebelumnya.

Membandingkan folder dan file

Untuk informasi selengkapnya, lihat Lihat dan kelola versi sebelumnya.

Mengatasi konflik file

  • Atasi perintah: Mengatasi konflik antara item di ruang kerja Anda dan di server.

Untuk informasi selengkapnya, lihat Mengatasi konflik Kontrol Versi Team Foundation.

Bekerja dengan kunci kontrol versi

Untuk informasi selengkapnya, lihat Bekerja dengan kunci kontrol versi.

Mengisolasi risiko

Gunakan perintah berikut untuk mengisolasi risiko dengan menggunakan cabang:

Untuk informasi lebih lanjut, lihat Cara menggunakan cabang untuk mengisolasi risiko dalam Kontrol Versi Team Foundation.

Mengelola kontrol versi

Gunakan perintah berikut untuk mengelola sistem kontrol versi Anda:

Untuk informasi selengkapnya, lihat Konfigurasikan pengaturan pembayaran.

Mendapatkan bantuan tentang perintah kontrol versi

Gunakan perintah berikut untuk mendapatkan informasi terperinci tentang perintah kontrol versi:

Memahami sintaks perintah

Sintaks setiap perintah muncul di bagian atas setiap artikel referensi.

Argumen yang diperlukan dan opsional

Argumen yang tidak dikurung diperlukan. [Brackets] menunjukkan argumen opsional yang tidak diperlukan untuk menyelesaikan perintah. Namun, beberapa argumen opsional memiliki default yang diterapkan ke perintah meskipun Anda tidak menentukan opsi .

Argumen eksklusif

Ketika opsi dipisahkan oleh pipa (|), Anda dapat menentukan salah satu opsi.

Argumen verbatim dan yang dapat diganti

Elemen yang tidak diapit dalam tanda kurung adalah opsi yang Anda sertakan kata per kata. Item yang diapit dalam tanda kurung sudut (< dan >) adalah argumen yang harus Anda ganti dengan karakter aktual untuk melakukan perintah.

Pintasan perintah dan alias

Beberapa perintah mendukung pintasan. Misalnya, Anda dapat memanggil perintah Hapus dengan tf delete atau tf del.

Contoh

Misalnya, pertimbangkan perintah Checkout:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]

Contoh ini mencakup argumen berikut:

  • <item-spec>: Anda harus mengganti argumen ini dengan spesifikasi item yang mengidentifikasi item yang Anda periksa.
  • Argumen berikut bersifat opsional. Jika Anda tidak menyediakannya, maka tidak satu pun dari efek mereka yang akan berlaku untuk perintah tersebut.
    • /lock:(none|checkin|checkout): Jika Anda tidak menentukan opsi /lock, sistem akan menggunakan /lock:none secara default. Jika tidak, Anda dapat menentukan salah satu opsi kunci lainnya.
    • /recursive: Jika Anda ingin memeriksa beberapa item secara rekursif dalam folder, Anda harus menentukan verbatim opsi ini.
    • /login:<username>, <password>: Jika Anda ingin menjalankan perintah sebagai pengguna lain, Anda harus menentukan opsi /login verbatim dan mengganti <username> dengan nama pengguna. Jika perlu, ganti <password> dengan kata sandi pengguna.

Tentukan item yang terpengaruh oleh perintah

Anda dapat menggunakan spesifikasi item dan spesifikasi versi untuk menentukan item mana yang dipengaruhi oleh perintah.

Menggunakan argumen spesifikasi item untuk menentukan item yang terpengaruh

Anda menggunakan spesifikasi item untuk menentukan item yang terpengaruh oleh perintah. Anda dapat menentukan item baik di komputer klien atau di server Azure DevOps Anda. Anda dapat menggunakan karakter kartu bebas seperti * dan ?.

Argumen spesifikasi barang pelanggan

Argumen spesifikasi item klien menentukan jalur ke item pada komputer klien seperti:

  • Sebuah folder, misalnya, c:\code\SiteApp\Main\SolutionA\.
  • Sebuah file, misalnya, c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
  • Beberapa file, misalnya, c:\code\SiteApp\Main\SolutionA\*.cs.
  • Jalur konvensi penamaan universal (UNC), seperti \\myshare\code\SiteApp\Main.

Argumen spesifikasi server item

Argumen spesifikasi item server menentukan jalur ke item di server Azure DevOps Anda seperti:

  • Sebuah folder, misalnya, $/SiteApp/Main/SolutionA.
  • Sebuah berkas, misalnya, $/SiteApp/Main/SolutionA/Project1/program.cs.
  • Beberapa file, misalnya, $/SiteApp/Main/SolutionA/*.cs.

Anda biasanya menggunakan argumen spesifikasi item server saat Anda perlu menjalankan perintah pada item yang tidak ada di komputer klien. Misalnya, Anda sedang mengerjakan mesin pengembangan. Jika Anda perlu mendapatkan beberapa data riwayat revisi tentang beberapa item yang berada dalam kumpulan proyek yang tidak Anda kerjakan, Anda bisa menggunakan perintah berikut:

c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

Beberapa argumen spesifikasi item

Untuk beberapa perintah, Anda dapat menentukan beberapa argumen spesifikasi item, misalnya:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Perintah ini memeriksa program.cs dan program2.c.

Menggunakan argumen spesifikasi versi untuk menentukan versi item yang terpengaruh

Anda menggunakan spesifikasi versi untuk menentukan versi item yang terpengaruh oleh perintah. Untuk memberikan spesifikasi versi, Anda dapat:

  • Gunakan opsi /version, misalnya, /version:C44.

  • Tambahkan spesifikasi versi ke spesifikasi item dengan titik koma, misalnya, program1.cs;C44.

Saat Anda menggunakan perintah Riwayat atau perintah Perbedaan , Anda dapat menentukan rentang versi dengan memisahkan versi dengan tilde, misalnya:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022

Gunakan sintaks berikut untuk menentukan spesifikasi versi:

Tipe Sintaksis Deskripsi Contoh Hasil
Set perubahan [C]<version-number> Menentukan item berdasarkan nomor set perubahan. Jika item yang berada dalam cakupan tidak dimodifikasi dalam set perubahan yang ditentukan, sistem mengambil versi terbaru item yang terjadi sebelum set perubahan yang ditentukan. Anda dapat menghilangkan C jika Anda hanya menentukan angka. tf get readme.txt /v:C8

tf get readme.txt /v:8

tf get readme.txt;8
Jika readme.txt dimodifikasi di changeset 8, kode contoh mendapatkan versi file tersebut. Jika tidak, ia mendapatkan versi terbaru readme.txt sebelum versi 8.
Etiket L<label> Menentukan item tempat label diterapkan. tf get readme.txt;LJulyHotFix

tf get /version:LLastKnownGood
Contoh pertama mendapatkan versi readme.txt yang diberi label JulyHotFix. Yang kedua mengambil versi semua item berlabel (dan menghapus item yang tidak diberi label) di ruang kerja seperti yang ada ketika changeset berlabel LastKnownGood dibuat. Anda dapat menggunakan kode dalam contoh kedua sebagai bagian dari proses build otomatis .
Tanggal dan waktu D<yyyy-mm-ddTxx:xx>

atau

D<mm/dd/yyyy>

atau

Format yang didukung oleh .NET Framework.

atau

Salah satu format tanggal yang didukung pada komputer lokal.
Mengacu pada set perubahan yang dibuat pada tanggal tertentu pada waktu tertentu. tf get /version:D2022-03-22

tf get /version:D2022-03-22T09:00
Contoh pertama memperbarui ruang kerja agar sesuai dengan basis kode seperti yang ada pada 22 Maret 2022 tengah malam. Yang kedua memperbarui ruang kerja agar sesuai dengan basis kode seperti yang ada pada 22 Maret 2022 pukul 09.00. Untuk informasi selengkapnya tentang format tanggal dan waktu yang didukung .NET Framework, lihat DateTime dan format string standar tanggal dan waktu.
Ruang kerja saat ini W Menentukan versi di ruang kerja Anda. - -
Ruang kerja yang ditentukan W<workspace-name>; <workspace-owner> Menentukan versi di ruang kerja tertentu. tf get /version:WResolveRIConflicts;PatW Contoh ini menentukan versi pada ruang kerja ResolveRIConflicts yang dimiliki oleh PatW.
Nasihat T Menentukan versi terbaru. - -

Gunakan opsi untuk mengubah cara fungsi perintah

Anda dapat menggunakan beberapa opsi umum untuk memodifikasi bagaimana perintah berfungsi.

Gunakan opsi /noprompt untuk menekan permintaan input data dan mengalihkan data output

Gunakan opsi /noprompt untuk menekan permintaan input data dan mengalihkan data output ke jendela prompt perintah. Opsi ini dapat berguna saat Anda perlu menggunakan perintah kontrol versi dalam skrip di mana:

  • Perintah dilanjutkan tanpa intervensi oleh pengguna.
  • Data tersedia bagi skrip untuk melakukan operasi, seperti penguraian atau pengambilan.

Saat Anda menggunakan opsi ini, sistem:

  • Menghalangi semua permintaan masukan.

    • Pertanyaan tidak diajukan di Command Prompt. Misalnya, saat Anda menggunakan perintah Batalkan dengan opsi ini, sistem tidak meminta Anda untuk mengonfirmasi apakah Anda ingin membatalkan perubahan.
    • Windows dan kotak dialog tidak ditampilkan. Misalnya, Anda dapat menggunakan opsi ini dengan perintah Checkin. Sistem tidak menampilkan kotak dialog Check In bagi Anda untuk mengonfirmasi item dan item kerja terkait. Sebagai gantinya, sistem memeriksa item tanpa konfirmasi.
  • Mengalihkan data output ke terminal perintah. Misalnya, Anda dapat menggunakan opsi ini dengan perintah Riwayat . Data ditampilkan di jendela command prompt alih-alih jendela Riwayat .

Gunakan opsi /login untuk menentukan kredensial

Gunakan opsi /login untuk menentukan akun pengguna server Azure DevOps untuk menjalankan perintah. Opsi ini dapat berguna saat Anda bekerja di komputer anggota tim lain.

Misalnya, bayangkan Anda sedang bekerja di komputer pengembangan milik anggota tim Anda. Anda menggunakan perintah Lock untuk membuka kunci file yang Anda kunci sebelumnya:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>

Jika Anda ingin menghindari kata sandi muncul di prompt perintah, Anda dapat memasukkan perintah tanpa kata sandi:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>

Setelah Anda memasukkan perintah ini, sistem meminta Anda untuk memasukkan kata sandi Anda dalam kotak dialog yang menutupi input Anda.

Gunakan opsi /lock untuk menerapkan atau menghapus kunci

Penting

Sebagai praktik terbaik, gunakan opsi /lock dengan kebijaksanaan. Beri tahu rekan tim Anda mengapa Anda mengunci item dan kapan Anda berencana untuk menghapus kunci.

Gunakan opsi /lock untuk menerapkan atau menghapus kunci secara bersamaan saat Anda menjalankan perintah lain seperti Tambahkan atau Edit.

/lock:(none|checkin|checkout)

Perintah /lock menggunakan opsi berikut:

  • None: Tidak ada kunci yang ditempatkan pada item. Jika kunci sudah ada, kunci tersebut akan segera dihapus.

  • Checkin atau Checkout: Kunci diterapkan. Untuk informasi selengkapnya, lihat Memahami jenis kunci.

Nota

Dalam beberapa kasus, operasi penguncian dapat gagal:

  • Jika ada pengguna lain yang telah mengunci salah satu item yang ditentukan, operasi penguncian gagal.
  • Jika sudah ada perubahan tertunda pada item yang ditentukan, sistem mengabaikan sakelar ini. Dalam hal ini, Anda harus menggunakan perintah Lock untuk mengubah kunci pada item.

Gunakan pintasan opsi

Anda dapat mensingkat opsi berikut.

Opsi

Alias Opsi

/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

Memahami kode keluar

Perintah kontrol versi mengembalikan kode keluar berikut:

Kode Keluar

Definisi

0

Sukses.

1

Keberhasilan parsial. Setidaknya sesuatu, atau mungkin semuanya, gagal berhasil.

2

Perintah tidak dikenal.

100

Tidak ada yang berhasil.

Misalnya, Anda menjalankan perintah berikut:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Jika salah satu file yang Anda coba cek keluar tidak ada di server, perintah mengembalikan 1 untuk menunjukkan keberhasilan parsial.