Perintah putar kembali (Kontrol Versi Team Foundation)
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Anda dapat menggunakan perintah Kontrol Versi Team Foundation (TFVC) tf rollback
untuk mengembalikan efek satu atau beberapa set perubahan pada satu atau beberapa item yang dikontrol versi. Perintah ini tidak menghapus set perubahan dari riwayat versi item. Sebagai gantinya, perintah ini membuat serangkaian perubahan tertunda di ruang kerja Anda yang meniadakan efek set perubahan yang Anda tentukan.
Prasyarat
Untuk menggunakan perintah ini, Anda harus memiliki izin Baca, Cek Keluar, dan Cek Masuk yang diatur ke Izinkan. Untuk informasi selengkapnya, lihat Izin TFVC default.
Sintaks
tf rollback /toversion:VersionSpec ItemSpec [/recursive] [/lock:none|checkin|checkout] [/version:versionspec] [/keepmergehistory] [/login:username,[password]] [/noprompt]
tf rollback /changeset:ChangesetFrom~ChangesetTo [ItemSpec] [/recursive] [/lock:none|checkin|checkout] [/version:VersionSpec]
[/keepmergehistory] [/noprompt] [/login:username,[password]]
Parameter
Argumen
Argumen
Keterangan
<ChangesetFrom>~<ChangesetTo>
Gunakan argumen ini dengan /changeset
opsi untuk menentukan set perubahan yang ingin Anda gulung balik. Anda dapat menentukan set perubahan dengan cara berikut:
- Set perubahan tunggal, misalnya
/changeset:C11
- Rentang set perubahan, misalnya
/changeset:C7~C20
- Tanggal, misalnya
/changeset:D09/30/09
- Rentang tanggal, misalnya
/changeset:D09/23/09~D10/07/09
- Set perubahan terbaru,
/changeset:Tip
atau/changeset:T
<ItemSpec>
Gunakan argumen ini untuk menentukan satu atau beberapa item yang ingin Anda gulung balik. Jika Anda menggunakan opsi , /toversion
Anda harus menentukan argumen ini.
Untuk informasi selengkapnya tentang cara TFVC mengurai spesifikasi item, lihat Menggunakan perintah kontrol versi Team Foundation.
Catatan
Anda dapat menentukan lebih dari satu itemspec
argumen.
<VersionSpec>
Nilai yang disediakan pengguna untuk /version
opsi dan /toversion
opsi .
Gunakan argumen ini dengan /toversion
opsi untuk mengembalikan file ke statusnya dalam set perubahan tertentu. Anda dapat menentukan versi dengan cara berikut:
- Set perubahan tunggal, misalnya
/toversion:C32
- Tanggal tengah malam, misalnya
/toversion:D06/19/09
- Tanggal dan waktu, misalnya
/toversion:D06/19/09T14:32
- Label, misalnya
/toversion:LTestLabel
- Versi di ruang kerja yang dipetakan ke direktori saat ini,
/toversion:W
- Versi di ruang kerja tertentu, misalnya
/toversion:WResolveRIConflicts;AKerry
Untuk informasi selengkapnya tentang cara TFVC mengurai versionspec
, lihat Menggunakan perintah kontrol versi Team Foundation.
Opsi
Opsi
Keterangan
/changeset
Gunakan opsi ini untuk menentukan satu atau beberapa set perubahan spesifik yang ingin Anda negasikan.
/keepmergehistory
Opsi ini hanya berpengaruh jika satu atau beberapa set perubahan yang Anda gulung balik menyertakan perubahan cabang atau penggabungan . Tentukan opsi ini jika Anda ingin penggabungan di masa mendatang antara sumber yang sama dan target yang sama untuk mengecualikan perubahan yang Anda gulung balik.
/lock
Tentukan opsi ini untuk mencegah pengguna lain cek masuk atau cek keluar item hingga Anda selesai menggulung balik semua perubahan terkait. Untuk informasi selengkapnya, lihat Memahami jenis kunci.
Opsi kunci:
None
. Default. Tidak ada kunci yang diterapkan. Jika file yang Anda gulung balik telah dikunci, opsi ini akan menghapus kunci.Checkin
. Mengunci item hingga Anda melepaskan kunci dengan melakukan check-in. Pengguna lain dapat memeriksa item yang ditentukan, tetapi pengguna tidak dapat memeriksa revisi hingga kunci dihapus. Anda tidak dapat mengunci file yang sudah dikunci.Checkout
. Mencegah pengguna melakukan check-in atau memeriksa item terkunci hingga Anda menghapus kunci dengan melakukan check-in.
/login
Untuk informasi tentang opsi ini, lihat Menggunakan opsi untuk mengubah cara fungsi perintah.
/noprompt
Gunakan opsi ini untuk menekan kotak dialog apa pun yang akan muncul selama operasi ini.
/recursive
Tentukan opsi ini jika Anda ingin operasi menyertakan item dalam subfolder.
/toversion
Tentukan opsi ini untuk mengembalikan file ke statusnya dalam set perubahan tertentu. Saat Anda menggunakan opsi ini, Anda meniadakan efek dari semua set perubahan yang telah diterapkan sejak versi yang Anda tentukan.
/version
Menentukan versi file dan folder saat ini yang ingin Anda gulung balik.
Keterangan
Perintah tf rollback
meniadakan efek dari setiap set perubahan yang Anda tentukan untuk setiap item yang Anda tentukan. Tabel berikut mencantumkan bagaimana operasi meniadakan setiap jenis perubahan.
Jenis perubahan digulung balik | Jenis perubahan putar kembali |
---|---|
tambahkan, cabang, atau batalkan penghapusan | hapus |
Mengedit | Mengedit |
pengodean | pengodean |
ganti nama/pindahkan | ganti nama/pindahkan |
hapus | Membatalkan penghapusan |
gabungkan | Perubahan yang meniadakan perubahan apa pun yang digabungkan ke cabang saat ini. |
Daftar berikut ini menyediakan beberapa contoh perubahan yang dihasilkan dari rollback
perintah:
Anda mengembalikan set perubahan saat perubahan penambahan terjadi. Operasi putar kembali menyebabkan perubahan putar kembali dan perubahan penghapusan .
Anda mengembalikan set perubahan 521 tempat perubahan pengeditan terjadi. Operasi pembatalan menyebabkan perubahan putar kembali dan perubahan edit yang meniadakan perubahan edit dalam changeset 521.
Dalam changeset 132, Anda menggabungkan dari $/BranchA/File1.txt ke $/BranchB/File1.txt. Perubahan dalam penggabungan tersebut menyertakan perubahan edit dalam changeset 92 dan 104. Dalam changeset 162, Anda mengembalikan changeset 132, yang menghasilkan perubahan putar kembali dan perubahan edit ke $/BranchB/File1.txt yang meniadakan perubahan edit dalam changeset 92 dan 104.
Kode keluar
Kode keluar dari tabel berikut muncul setelah Anda menjalankan tf rollback
perintah.
Keluar dari kode | Deskripsi |
---|---|
0 | Operasi berhasil menggulung balik semua item. |
1 | Operasi berhasil mengembalikan setidaknya satu item tetapi tidak dapat mengembalikan satu atau beberapa item. |
100 | Operasi tidak dapat mengembalikan item apa pun. |
Contoh
Contoh berikut meniadakan efek set perubahan 23 pada semua item yang diubah dalam set perubahan tersebut:
c:\workspace> tf rollback /changeset:C23
Contoh berikut meniadakan efek changeset 23 pada file a.txt:
c:\workspace> tf rollback /changeset:C23 a.txt
Contoh berikut mengubah konten a.txt agar sesuai dengan versi yang diperiksa dengan changeset 23:
c:\workspace> tf rollback /toversion:C23 a.txt
Contoh berikut mengubah konten OurTeamProject agar sesuai dengan set perubahan terakhir yang diterapkan pada atau sebelum tengah malam pada 31 Agustus 2009:
c:\workspace> tf rollback /toversion:D08/31/2009 /recursive $/OurTeamProject/
Contoh opsi /keepmergehistory
Saat Anda mengembalikan set perubahan yang menyertakan cabang atau perubahan penggabungan, Anda biasanya ingin penggabungan di masa mendatang antara sumber yang sama dan target yang sama menyertakan perubahan tersebut. Namun, Anda dapat menggunakan /keepmergehistory
opsi jika Anda ingin penggabungan di masa mendatang antara sumber yang sama dan target yang sama untuk mengecualikan set perubahan yang disertakan dalam operasi penggabungan sebelumnya. Contohnya:
Pada 30 Juni 2009, Anda melakukan penggabungan penuh semua item dari $/BranchA/ ke $/BranchB/.
c:\workspace> tf merge $/BranchA $/BranchB
Anda memeriksa penggabungan ini sebagai bagian dari changeset 292.
Pada bulan Juli, Anda membuat beberapa perubahan $/BranchA/Util.cs. Perubahan ini mencakup dalam changeset 297, 301, dan 305.
Pada 1 Agustus 2009, Anda menggabungkan $/BranchA/Util.cs ke $/BranchB/Util.cs.
c:\workspace> tf merge $/BranchA/Util.cs $/BranchB/Util.cs
Anda memeriksa perubahan sebagai bagian dari changeset 314. Hasil dari operasi ini adalah bahwa pengeditan yang Anda buat dalam changeset 297, 301, dan 305 ke $/BranchA/Util.cs sekarang juga diterapkan ke $/BranchB/Util.cs.
Seminggu kemudian, Anda menyadari bahwa pengeditan yang Anda buat pada $/BranchA/Util.cs pada bulan Juli tidak sesuai untuk $/BranchB/Util.cs. Anda dapat menggunakan
rollback
perintah untuk meniadakan perubahan ini. Saat Anda menggunakanrollback
perintah untuk mengembalikan perubahan penggabungan atau perubahan cabang , Anda memiliki keputusan untuk dibuat.Jika Anda ingin perubahan yang Anda buat pada $/BranchA/Util.cs pada bulan Juli diterapkan kembali ke $/BranchB/Util.cs di penggabungan mendatang, masukkan perintah berikut:
c:\workspace> tf rollback /changeset:314
Jika Anda ingin perubahan yang Anda buat pada $/BranchA/Util.cs pada bulan Juli tidak pernah diterapkan kembali ke $/BranchB/Util.cs di penggabungan mendatang, masukkan perintah berikut:
c:\workspace> tf rollback /changeset:314 /keepmergehistory
Beberapa minggu kemudian, Anda menggabungkan $/BranchA/ ke $ /BranchB/.
c:\workspace> tf merge $/BranchA $/BranchB
Jika Anda menghilangkan
/keepmergehistory
opsi saat Anda menggulung balik, perubahan penggabungan berlaku untuk $/BranchB/Util.cs semua set perubahan yang diterapkan ke $/BranchA/Util.cs sejak changeset 292, termasuk changeset 297, 301, dan 305. Dengan kata lain, penggabungan membatalkan perubahan pemutaran kembali.Jika Anda menyertakan
/keepmergehistory
opsi saat Anda menggulung balik, operasi penggabungan berlaku untuk $/BranchB/Util.cs semua set perubahan yang diterapkan ke $/BranchA/Util.cs sejak changeset 292, tidak termasuk changeset 297, 301, dan 305. Dengan kata lain, penggabungan tidak mengurungkan perubahan pembatalan. Oleh karena itu, konten di BranchA mungkin tidak cocok dengan konten di BranchB.
Artikel terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk