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 tf rollback
Team Foundation Version Control (TFVC) 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, atur izin Read, Check Out, dan Check In diatur ke Izinkan. Untuk informasi selengkapnya, lihat izin TFVC Default.
Sintaksis
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
Deskripsi
<ChangesetFrom>~<ChangesetTo>
Gunakan argumen ini dengan opsi /changeset
untuk menentukan set perubahan yang ingin Anda gulung balik. Anda dapat menentukan set perubahan dengan cara berikut:
- Satu set perubahan, 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,
/changeset:Tip
, atau/changeset:T
terbaru
<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.
Nota
Anda dapat menentukan lebih dari satu argumen itemspec
.
<VersionSpec>
Nilai yang disediakan pengguna untuk opsi /version
dan opsi /toversion
.
Gunakan argumen ini dengan opsi /toversion
untuk mengembalikan file ke statusnya dalam set perubahan tertentu. Anda dapat menentukan versi dengan cara berikut:
- Satu set perubahan, 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.
Pilihan
Opsi
Deskripsi
/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 cabang
/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 opsi Gunakan 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.
Komentar
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 |
---|---|
menambahkan, cabang , atau batalkan penghapusan | menghapus |
mengedit | mengedit |
pengodean |
pengodean |
mengganti nama/memindahkan | mengganti nama/memindahkan |
menghapus | batalkan penghapusan |
menggabungkan | Perubahan yang meniadakan perubahan apa pun yang digabungkan ke cabang saat ini. |
Daftar berikut ini menyediakan beberapa contoh perubahan yang dihasilkan dari perintah rollback
:
Anda mengembalikan set perubahan di mana perubahan menambahkan terjadi. Operasi pembatalan menyebabkan perubahan putar kembali
dan perubahan penghapusan . Anda mengembalikan changeset 521 tempat perubahan diedit terjadi. Operasi pembatalan menyebabkan perubahan pemutaran kembali
dan perubahan pengeditan yang meniadakan perubahan edit dalam changeset 521. Dalam changeset 132, Anda menggabungkan dari $/BranchA/File1.txt ke $/BranchB/File1.txt. Perubahan dalam penggabungan tersebut termasuk mengedit perubahan dalam changeset 92 dan 104. Dalam changeset 162, Anda mengembalikan set perubahan 132, yang menghasilkan perubahan rollback
dan perubahan edit ke $/BranchB/File1.txt yang meniadakan perubahanedit dalam changeset 92 dan 104.
Kode keluar
Kode keluar dari tabel berikut muncul setelah Anda menjalankan perintah tf rollback
.
Kode keluar | 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 dicek masuk 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 opsi /keepmergehistory
jika Anda ingin penggabungan di masa mendatang antara sumber yang sama dan target yang sama untuk mengecualikan set perubahan yang mencakup dalam operasi penggabungan sebelumnya. Misalnya:
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 untuk $/BranchA/Util.cs pada bulan Juli tidak sesuai untuk $/BranchB/Util.cs. Anda dapat menggunakan perintah
rollback
untuk meniadakan perubahan ini. Saat Anda menggunakan perintahuntuk mengembalikan perubahan penggabungan atau perubahan cabang , Anda memiliki keputusan untuk dibuat. Jika Anda ingin perubahan yang Anda buat $/BranchA/Util.cs pada bulan Juli untuk 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 dalam $/BranchB/.
c:\workspace> tf merge $/BranchA $/BranchB
Jika Anda menghilangkan 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 opsi
/keepmergehistory
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 padaBranchA mungkin tidak cocok dengan konten di BranchB .
Artikel terkait
- Menggunakan perintah kontrol versi Team Foundation
- perintah Penggabungan