Bagikan melalui


Perintah penggabungan (Kontrol Versi Team Foundation)

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Perintah menerapkan tf merge perubahan dari satu cabang ke cabang lain di Team Foundation Version Control (TFVC).

Catatan

Hasil perintah ini tidak tercermin di server Azure DevOps hingga Anda melakukan operasi check-in. Untuk informasi selengkapnya, lihat Mengembangkan kode dan mengelola perubahan yang tertunda.

Prasyarat

Untuk menggunakan merge perintah, Anda harus mengatur izin Cek keluar ke Izinkan folder ruang kerja yang berisi destination, dan Anda harus memiliki izin Baca yang diatur ke Izinkan untuk folder ruang kerja yang berisi source. Untuk informasi selengkapnya, lihat Izin TFVC default.

Sintaks

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

Keterangan

<versionspec>

Menyediakan nilai seperti C2 untuk /version opsi . 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 /login opsi . Anda dapat menentukan username nilai sebagai DOMAIN\username atau username.

Opsi

Opsi

Keterangan

/recursive

Cocok dengan source spesifikasi item 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 masuk 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.

Catatan

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.

Catatan

Opsi ini hanya berlaku ketika output berisi ringkasan konflik. Ringkasan tidak dapat ditampilkan jika /nosummary opsi digunakan atau penggabungan menyebabkan kurang dari 10 konflik, peringatan, dan kesalahan.

/login

Menentukan nama pengguna dan kata sandi untuk mengautentikasi pengguna dengan Azure DevOps.

Keterangan

Anda dapat menggunakan merge perintah tf utilitas baris perintah 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 ini 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 tf utilitas baris perintah, 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 tf merge perintah . 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 di antara item yang memiliki nama relatif yang sama di dua pohon yang dikontrol versi yang sebelumnya terkait. Misalnya, Anda mungkin ingin menggabungkan cabang $SRC terkait 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 /noimplicitbaseless set opsi, 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 dalam 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 yang belum digabungkan ke dalam cabang2.

c:\projects>tf merge /candidate branch1 branch2 /recursive

Contoh berikut mencetak daftar set perubahan di cabang2 yang belum digabungkan kembali ke cabang1.

c:\projects>tf merge /candidate branch2 branch1 /recursive

Contoh berikut membuang changeset 137 sebagai kandidat untuk menggabungkan ke dalam 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 dalam branch2.

c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive