Perintah penggabungan (Kontrol Versi Team Foundation)
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Perintah tf merge
menerapkan perubahan dari satu cabang ke cabang lain di Team Foundation Version Control (TFVC).
Nota
Hasil perintah ini tidak tercermin di server Azure DevOps hingga Anda melakukan operasi check-in. Untuk informasi selengkapnya, lihat Mengembangkan kode dan mengelola perubahan tertunda.
Prasyarat
Untuk menggunakan perintah
Sintaksis
tf merge [/recursive] [/force] [/candidate] [/discard]
[/version:versionspec] [/lock:none|checkin|checkout] [/preview]
[/baseless] [/nosummary] [/noimplicitbaseless] [/conservative] [/format:(brief|detailed)] [/noprompt] [/login:username,[password]] source destination
Parameter
Argumen
Argumen
Deskripsi
<versionspec>
Menyediakan nilai seperti C2
untuk opsi /version
. Untuk informasi selengkapnya tentang cara TFVC mengurai spesifikasi versi untuk menentukan item mana yang berada dalam cakupannya, lihat Menggunakan perintah kontrol versi Team Foundation.
<source>
Menentukan file atau folder untuk bertindak sebagai sumber penggabungan.
<destination>
Menentukan file atau folder untuk bertindak sebagai tujuan penggabungan.
<username>
Menyediakan nilai untuk opsi /login
. Anda dapat menentukan nilai username
sebagai DOMAIN\username
atau username
.
Pilihan
Opsi
Deskripsi
/recursive
Cocok dengan spesifikasi item source
di direktori saat ini dan subfolder apa pun.
/force
Mengabaikan riwayat penggabungan dan menggabungkan perubahan yang ditentukan dari sumber ke tujuan, meskipun beberapa atau semua perubahan ini telah digabungkan sebelumnya.
/candidate
Mencetak daftar semua set perubahan di sumber yang belum digabungkan ke tujuan. Daftar harus menyertakan ID set perubahan yang belum digabungkan dan informasi dasar lainnya tentang set perubahan tersebut. Tanda bintang untuk hasil tertentu menunjukkan bahwa tanda bintang digabungkan sebagian, yang berarti beberapa perubahan dalam set perubahan telah digabungkan dan perubahan lain belum digabungkan.
/discard
Tidak melakukan operasi penggabungan, tetapi memperbarui riwayat penggabungan untuk melacak bahwa penggabungan terjadi. Ini membuang set perubahan agar tidak digunakan untuk penggabungan tertentu.
/version
Untuk penggabungan selektif, opsi ini menentukan rentang yang harus digabungkan ke tujuan. Untuk penggabungan catch-up, parameter ini menentukan versi sebelum semua perubahan yang tidak digabungkan harus digabungkan.
Untuk penggabungan selektif, rentang versi menunjukkan titik awal dan akhir dari kumpulan perubahan yang akan digabungkan. Misalnya, jika Anda mencoba menggabungkan versi 4~6
, set perubahan 4, 5, dan 6 digabungkan.
/lock
Menentukan jenis kunci atau menghapus kunci dari item. Untuk informasi selengkapnya, lihat Memahami jenis kunci.
Opsi kunci:
None
: Tidak menempatkan kunci pada item, dan menghapus kunci yang ada dari item.Checkin
: Pengguna lain dapat memeriksa item yang ditentukan, tetapi mereka tidak dapat memeriksa revisi ke file terkunci hingga Anda melepaskan kunci dengan melakukan check-in. Jika ada pengguna lain yang telah mengunci salah satu item yang ditentukan, operasi penguncian gagal.Checkout
: Mencegah pengguna memeriksa atau memeriksa salah satu item yang ditentukan hingga Anda secara eksplisit melepaskan kunci. Jika ada pengguna lain yang telah mengunci salah satu item yang ditentukan, atau jika ada perubahan yang tertunda terhadap item apa pun, operasi penguncian gagal.
/preview
Memperlihatkan pratinjau penggabungan.
/baseless
Melakukan penggabungan tanpa versi dasar. Artinya, memungkinkan pengguna untuk menggabungkan file dan folder yang tidak memiliki hubungan penggabungan. Setelah penggabungan tanpa dasar, hubungan penggabungan ada, dan penggabungan di masa mendatang tidak harus tidak berdasar.
Nota
Penggabungan tanpa dasar tidak dapat menghapus file di target. Anda dapat membawa perubahan tersebut secara manual.
/noimplicitbaseless
Menentukan bahwa TFVC tidak akan melakukan penggabungan tanpa dasar implisit antara dua item yang memiliki nama relatif yang sama dalam dua pohon kontrol versi yang tidak terkait.
/nosummary
Menghilangkan ringkasan konflik, kesalahan, dan peringatan.
/noprompt
Menekan setiap permintaan untuk input dari Anda.
/conservative
Menghasilkan lebih banyak konflik saat Anda menggabungkan satu cabang ke cabang lainnya.
/format
Menentukan format ringkasan konflik penggabungan:
-
Brief
(default): Hanya meringkas jumlah total konflik, peringatan, dan kesalahan. -
Detailed
: Meringkas tidak hanya jumlah total konflik, peringatan, dan kesalahan, tetapi juga mencantumkan detail tentang setiap konflik.
Nota
Opsi ini hanya berlaku ketika output berisi ringkasan konflik. Ringkasan tidak dapat ditampilkan jika opsi /nosummary
digunakan atau penggabungan menyebabkan kurang dari 10 konflik, peringatan, dan kesalahan.
/login
Menentukan nama pengguna dan kata sandi untuk mengautentikasi pengguna dengan Azure DevOps.
Komentar
Anda dapat menggunakan perintah merge
utilitas baris perintah tf
untuk menerapkan perubahan di cabang sumber yang ada ke cabang target yang ada. Anda dapat menggabungkan revisi individual atau set perubahan lengkap ke cabang target. Anda dapat menggabungkan perubahan dari sumber ke cabang target atau dari tujuan ke cabang sumber.
Perintah merge
juga memungkinkan Anda mengkueri perubahan di cabang sumber yang belum dimigrasikan ke cabang target. Perintah ini juga memungkinkan Anda menunjukkan bahwa perubahan tertentu tidak akan pernah digabungkan dari sumber ke tujuan dan tidak boleh lagi ditampilkan sebagai kandidat untuk operasi penggabungan.
Untuk informasi selengkapnya tentang cara menggunakan utilitas baris perintah tf
, lihat Menggunakan perintah kontrol versi Team Foundation.
Penggabungan tanpa dasar
Gunakan penggabungan tanpa dasar untuk menggabungkan item yang tidak bercabang secara langsung satu sama lain. Untuk melakukan penggabungan tanpa dasar, Anda harus menggunakan perintah tf merge
. Ketika Anda melakukan penggabungan tanpa dasar, TFVC tidak memiliki informasi tentang hubungan file di cabang. Dalam penggabungan tanpa dasar, Anda harus melakukan resolusi konflik manual. Setelah Anda melakukan penggabungan tanpa dasar dan menyelesaikan konflik apa pun, TFVC merekam riwayat penggabungan dan membuat hubungan antara folder dan file.
Saat Anda menjalankan tf merge
, TFVC melakukan penggabungan tanpa dasar implisit antara item yang memiliki nama relatif yang sama di dua pohon yang dikontrol versi yang sebelumnya terkait. Misalnya, Anda mungkin ingin menggabungkan cabang terkait $SRC
dan $TGT
. Kedua cabang berisi file yang tidak terkait yang bernama a.txt. Saat Anda menjalankan tf merge
, TFVC membuat hubungan antara dua file a.txt jika kedua file sama, enkripsi yang mematuhi FIPS dinonaktifkan, dan file sumber tidak terkait dengan file lain dalam target.
Jika Anda menjalankan tf merge
dengan opsi /noimplicitbaseless
diatur, ketika TFVC mencoba menggabungkan dua cabang, dua file a.txt membuat konflik namespace saat Anda mencoba memeriksa perubahan. Untuk mengatasi konflik, Anda harus mengganti nama salah satu file.
Contoh
Contoh berikut menggabungkan perubahan dari MyFile_beta1 yang belum digabungkan ke dalam MyFile_RTM.
c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive
Contoh berikut menggabungkan changeset 137 ke branch2.
c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive
Contoh berikut menggabungkan semua changeset hingga changeset 137 menjadi branch2.
c:\projects>tf merge /version:C137 branch1 branch2 /recursive
Contoh berikut mencetak daftar set perubahan di cabang1
c:\projects>tf merge /candidate branch1 branch2 /recursive
Contoh berikut mencetak daftar set perubahan di
c:\projects>tf merge /candidate branch2 branch1 /recursive
Contoh berikut membuang changeset 137 sebagai kandidat untuk penggabungan ke cabang2.
c:\projects>tf merge /discard /version:C137~C137 branch1 branch2 /recursive
Contoh berikut membuang semua changeset hingga changeset 137 sebagai kandidat untuk menggabungkan ke branch2.
c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive
Artikel terkait
- Mengatasi konflik Kontrol Versi Team Foundation
- Menggunakan perintah kontrol versi Team Foundation
- perintah Cabang
- perintah Penggabungan
- Percabangan dan penggabungan