Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git menggunakan metadata penerapan seperti tautan induk, detail penulis, dan tanda waktu untuk melacak riwayat perubahan dalam repositori. Anda dapat meninjau riwayat Git untuk mengetahui kapan file berubah, siapa yang mengubahnya, dan perubahan apa yang dibuat.
Ketika orang membuat dan menggabungkan cabang fitur ke cabang target menggunakan permintaan pull, riwayat pengembangan cabang target mungkin bukan garis kronologis lurus. Jadi, ketika Anda meninjau riwayat perubahan pada file di cabang target, perlu diingat bahwa urutan penerapan dipengaruhi oleh strategi penggabungan dan tanggal penggabungan, bukan hanya tanggal asli perubahan. Misalnya, penerapan terbaru pada main
cabang dapat memperkenalkan perubahan yang dilakukan minggu lalu di cabang fitur yang hanya digabungkan ke cabang main
menggunakan penggabungan tiga arah.
Di artikel ini, Anda akan mempelajari cara:
- Membandingkan versi file
- Memulihkan file
- Membandingkan cabang
Untuk mempelajari cara menggunakan Visual Studio 2022 dengan Git, lihat Cara Visual Studio memudahkan kontrol versi dengan Git.
Membandingkan versi file
Ketika Anda ingin mencari tahu bagaimana dan kapan perubahan file tertentu terjadi, Anda mungkin perlu membandingkan versi file yang sama yang berbeda dari penerapan yang berbeda, mungkin di cabang yang berbeda.
Situs proyek tim Azure DevOps memungkinkan Anda membandingkan dua versi file yang sama dari penerapan di cabang yang sama, tetapi tidak mendukung perbandingan versi file di seluruh cabang.
Dari browser web Anda, buka proyek tim untuk organisasi Azure DevOps Anda. Dalam tampilan File Repositori>, pilih file dan pilih tab Bandingkan.
Di tab Bandingkan , pilih dua penerapan yang berisi versi file yang ingin Anda bandingkan. Tampilan diff menunjukkan baris file baru, dihapus, atau diubah.
Catatan
GitHub memungkinkan Anda membandingkan dua versi file yang sama dari penerapan yang berbeda di berbagai cabang. Untuk membandingkan, tambahkan /compare/<commit1>..<commit2>
ke URL repositori GitHub Anda untuk menavigasi ke halaman perbandingan. Halaman perbandingan berisi tampilan berbeda dari setiap file yang berbeda. Untuk informasi selengkapnya tentang penerapan perbandingan di GitHub, lihat Membandingkan penerapan.
Visual Studio 2022 menyediakan pengalaman kontrol versi Git dengan menggunakan menu Git, Perubahan Git, dan melalui menu konteks di Penjelajah Solusi. Visual Studio 2019 versi 16.8 juga menawarkan antarmuka pengguna Team Explorer Git. Untuk informasi selengkapnya, lihat tab Visual Studio 2019 - Team Explorer .
Visual Studio memungkinkan Anda membandingkan dua versi file yang sama di cabang yang sama, tetapi tidak mendukung perbandingan versi file di seluruh cabang.
Di Penjelajah Solusi, pilih file dan pilih Riwayat Tampilan Git > dari menu konteks file untuk membuka tab Riwayat Git untuk file yang dipilih.
Di tab Riwayat Git, pilih Bandingkan dengan Sebelumnya dari menu konteks penerapan untuk membuka tab Diff yang membandingkan penerapan yang dipilih dengan penerapan sebelumnya.
Atau, pilih dua penerapan dan pilih Bandingkan dari menu konteks penerapan untuk membuka tab Diff yang membandingkan dua penerapan yang dipilih.
Tab Diff memperlihatkan baris file baru, dihapus, atau diubah.
Team Explorer tidak menyediakan dukungan untuk fitur ini.
Perintah git diff dapat membandingkan versi yang berbeda dari file yang sama dari penerapan yang berbeda di berbagai cabang. Perintah log git dapat membantu Anda mengidentifikasi penerapan yang berisi versi file yang ingin Anda bandingkan.
Gunakan git log
dan tentukan file untuk mencantumkan penerapan yang mengubah file:
git log <file>
Secara default, output perintah dimulai dengan penerapan terbaru di cabang saat ini, dan kemudian melakukan iterasi mundur melalui penerapan leluhur (terlepas dari cabang) dengan mengikuti tautan induk dalam metadata setiap penerapan.
Berikut adalah contoh output untuk perintah git log index.html
:
commit bbc3b679197b659544a6f8070c79fb535b496613
Date: Thu Jun 30 13:42:50 2021 -0400
update landing page
commit e5402fe710c25eca1b96a4e238eee9c01ed41c6a
Date: Thu Jun 30 13:42:23 2021 -0400
initial commit
Gunakan git diff
dan tentukan file dan dua penerapan untuk melihat perbedaan versi file yang diterapkan:
git diff <commit1> <commit2> <file>
Berikut adalah contoh output untuk perintah git diff bbc3b67 e5402fe index.html
:
- <link rel="stylesheet" href="app.cs"/>
+ <link rel="stylesheet" href="fabrikam.cs"/>
Output menunjukkan bahwa satu baris dihapus dan satu baris ditambahkan.
Membatasi output log Git
Untuk membatasi] penerapan yang git log
mencantumkan, Anda bisa memfilter menurut penulis, tanggal, pesan, isi yang diubah, dan lainnya. Contohnya:
git log --author=frank@fabrikam.com index.html
hanya mencantumkan penerapan oleh penulis yang ditentukan.
git log --since="2022-5-1"
hanya mencantumkan penerapan yang dibuat setelah tanggal yang ditentukan.
git log --before="yesterday"
hanya mencantumkan penerapan yang dibuat sebelum tanggal relatif yang ditentukan.
git log --grep="css change"
hanya mencantumkan penerapan dengan teks yang ditentukan dalam pesannya.
git log -S"myVariable"
hanya mencantumkan penerapan yang memperkenalkan atau menghapus string yang ditentukan.
git log -G"myVar.*"
hanya mencantumkan penerapan yang memperkenalkan atau menghapus string regex yang ditentukan.
git log -3
hanya mencantumkan tiga penerapan terakhir.
Anda memiliki beberapa opsi format untuk daftar penerapan. Contohnya:
git log --abbrev-commit
mencantumkan penerapan menggunakan ID singkatan (checksum SHA-1).
git log --oneline
mencantumkan setiap penerapan dalam format singkatan baris tunggal.
git log --patch index.html
mencantumkan setiap penerapan bersama dengan perbedaan perubahan.
Memulihkan file
Anda dapat memulihkan versi file tertentu dari riwayat Git, bahkan jika file diedit, dihapus, atau diganti namanya dalam penerapan nanti. Memulihkan versi file yang lebih lama tidak membuat penerapan baru dengan perubahan. Untuk memperbarui cabang Anda dengan versi file yang dipulihkan, Anda harus menerapkan perubahan.
Situs proyek tim Azure DevOps memungkinkan Anda mengembalikan semua perubahan yang dibuat oleh penerapan tertentu, tetapi tidak mendukung mengembalikan perubahan ke file tertentu dalam penerapan.
Visual Studio memungkinkan Anda membandingkan dua versi file yang sama di cabang yang sama, tetapi tidak mendukung perbandingan versi file di seluruh cabang.
Di Penjelajah Solusi, pilih file dan pilih Riwayat Tampilan Git > dari menu konteks file untuk membuka tab Riwayat Git untuk file yang dipilih.
Di tab Riwayat Git, pilih Bandingkan dengan Sebelumnya dari menu konteks penerapan untuk membuka tab Diff yang membandingkan penerapan yang dipilih dengan penerapan sebelumnya.
Atau, pilih dua penerapan dan pilih Bandingkan dari menu konteks penerapan untuk membuka tab Diff yang membandingkan dua penerapan yang dipilih.
Tab Diff memperlihatkan baris file baru, dihapus, atau diubah.
Visual Studio 2019 versi 16.8 dan versi yang lebih baru memberikan pengalaman kontrol versi Git sambil mempertahankan antarmuka pengguna Team Explorer Git. Untuk menggunakan Team Explorer, hapus centang Opsi Alat>Pratinjau>Fitur>pengalaman pengguna Git Baru dari bilah menu.
Di Penjelajah Solusi, pilih file dan pilih Riwayat Tampilan Git > dari menu konteks file untuk membuka tab Riwayat Git untuk file yang dipilih.
Di tab Riwayat Git, pilih penerapan dan pilih Tampilkan Detail Penerapan dari menu konteks penerapan untuk membuka tampilan Terapkan Detail .
Dalam tampilan Terapkan Detail, pilih file dan pilih Buka dari menu konteks file untuk membuka versi file sebelumnya di tab baru.
Pilih Simpan File > Sebagai dari bilah menu untuk menyimpan versi file yang dipulihkan.
Anda dapat menggunakan perintah git checkout atau git show untuk memulihkan versi file tertentu dari riwayat Git.
git checkout mengembalikan file ke versi yang diterapkan sebelumnya jika Anda menentukan file dan penerapan:
git checkout <commit> <file>
Misalnya, git checkout 85435fac src/app.ts
akan mengembalikan src/app.ts
file ke versinya dalam penerapan 85435fac
.
git menunjukkan mencetak konten versi file yang diterapkan sebelumnya, yang dapat Anda alihkan ke file output:
git show <commit>:<file> > <output file>
Misalnya, git show 85435fac:src/app.ts > /archive/oldapp.ts
akan menulis konten app.ts
dalam penerapan 85435fac
ke /archive/oldapp.ts
.
Membandingkan cabang
Anda dapat membandingkan cabang lokal atau jarak jauh untuk meninjau perubahan yang akan dihasilkan dari penggabungan atau rebase. Perbandingan cabang memungkinkan Anda memeriksa konflik penggabungan dan melihat bagaimana perubahan oleh orang lain dapat memengaruhi pekerjaan Anda.
Visual Studio 2019 dan versi yang lebih lama tidak mendukung perbandingan cabang, jadi jika Anda menggunakan salah satu versi tersebut, Anda dapat membandingkan cabang di baris perintah Git atau menggunakan browser web Anda—jika repositori Anda dihosting di Azure Repos atau GitHub. Visual Studio 2022 mendukung perbandingan cabang, seperti yang dijelaskan dalam Membandingkan cabang.
Dari browser web Anda, buka proyek tim untuk organisasi Azure DevOps Anda. Dalam tampilan Repos > Branches, pilih elipsis untuk cabang mana pun dan pilih Bandingkan cabang untuk membuka tampilan Perbandingan Cabang.
Dalam tampilan Perbandingan cabang, pilih dua cabang yang ingin Anda bandingkan. Pilih tab File untuk tampilan berbeda dari baris baru, dihapus, atau diubah di setiap file yang diubah.
Catatan
GitHub mendukung perbandingan cabang. Untuk membandingkan dua cabang, tambahkan /compare/<branch1>...<branch2>
ke URL repositori GitHub Anda untuk menavigasi ke halaman perbandingan. Halaman perbandingan berisi tampilan berbeda dari setiap file yang berbeda. Untuk informasi selengkapnya tentang perbandingan cabang di GitHub, lihat Membandingkan cabang.
Untuk membandingkan cabang dengan cabang saat ini, klik kanan cabang di panel Cabang repositori Anda, lalu pilih opsi bandingkan. Menu konteks menentukan nama cabang saat ini dan target:
Visual Studio 2019 tidak mendukung perbandingan cabang. Namun, Anda dapat membandingkan cabang di baris perintah Git atau menggunakan browser web Anda—jika repositori Anda dihosting di Azure Repos atau GitHub.
Tip
Anda dapat mengakses portal web dari tampilan Beranda Team Explorer dengan memilih Portal Web.
Untuk membandingkan dua cabang lokal atau jarak jauh, Anda dapat menggunakan perintah Git diff
yang menentukan nama cabang:
git diff <branch1> <branch2>
Git membandingkan penerapan di ujung satu cabang dengan penerapan di ujung yang lain. Output diff akan menunjukkan penghapusan dan penambahan antara setiap file di dua cabang.
Berikut adalah contoh output untuk perintah git diff users/frank/feature origin/main
, yang membandingkan cabang lokal dengan cabang jarak jauh:
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Untuk mempersempit perbandingan dengan file tertentu, tentukan file dalam diff
perintah:
git diff <branch1> <branch2> <file>
Misalnya, git diff users/frank/feature origin/main index.html
hanya akan menghasilkan diff untuk index.html
file.
Langkah berikutnya
Artikel terkait