Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Ketika ada beberapa kontributor proyek, jaga agar repositori Git lokal Anda tetap diperbarui dengan mengunduh dan mengintegrasikan pekerjaan yang diunggah orang lain ke repositori jarak jauh proyek. Perintah Git ini memperbarui repositori lokal Anda:
- Git fetch mengunduh komit baru yang diunggah orang lain ke repositori jarak jauh. Cabang pelacakan jarak jauh di cache repositori lokal diperbarui—cabang lokal tetap tidak berubah.
- Git menggabungkan mengintegrasikan penerapan dari satu atau beberapa cabang sumber ke dalam cabang target.
- Git rebase mengintegrasikan commit dari cabang sumber ke cabang target, tetapi mengikuti strategi yang berbeda dari Git merge.
- Git pull melakukan fetch dan kemudian menggabungkan atau me-rebase untuk mengintegrasikan commit yang diambil ke dalam cabang lokal Anda saat ini.
Visual Studio menggunakan subset perintah Git tersebut saat Anda menyinkronkan repositori lokal Anda dengan repositori jarak jauh.
Untuk gambaran umum alur kerja Git, lihat tutorial Azure Repos Git.
Artikel ini menyediakan prosedur untuk tugas-tugas berikut:
- Unduh perubahan dengan memuat
- Memperbarui cabang dengan menggabungkan atau rebase
- Unduh perubahan dan perbarui branch dengan pull
Mengunduh perubahan dengan fetch
Git mengambil unduhan penerapan cabang jarak jauh dan objek file yang direferensikan yang tidak ada di repositori lokal Anda dan memperbarui cabang pelacakan jarak jauh di cache repo lokal. Cabang pelacakan jarak jauh adalah salinan baca-saja yang di-cache secara lokal dari cabang jarak jauh dan bukan cabang lokal Anda. Perintah fetch Git tidak memperbarui cabang lokal Anda. Misalnya, jika repositori jarak jauh yang ditunjuk oleh origin memiliki cabang bugfix3, pengambilan Git akan memperbarui cabang pelacakan jarak jauh bernama origin/bugfix3 dan bukan cabang bugfix3 lokal Anda. Anda dapat menggunakan cabang pelacakan jarak jauh untuk:
- Bandingkan cabang pelacakan jarak jauh dengan cabang lokal untuk meninjau perubahan yang diambil.
- Gabungkan cabang pelacakan jarak jauh ke cabang lokal.
- Buat cabang lokal baru dari cabang pelacakan jarak jauh.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Penjelajah Tim
- Antarmuka Baris Perintah Git
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 .
Di jendela Perubahan Git, pilih Ambil. Kemudian pilih keluar/masuk untuk membuka jendela Repositori Git.
Anda juga dapat memilih Ambil dari menu Git.
Di jendela Repositori Git, commit yang diambil muncul di bagian Masuk. Pilih commit yang sudah diambil untuk melihat daftar file yang diubah dalam commit tersebut. Pilih file yang diubah untuk melihat tampilan diff konten yang diubah.
Petunjuk / Saran
Fetch tidak menghapus cabang pelacak jarak jauh di cache repo lokal Anda yang tidak lagi memiliki pasangan jarak jauh. Untuk mengonfigurasi Visual Studio agar memangkas cabang pelacakan jarak jauh kedaluarsa selama Fetch:
- Pilih Alat >Opsi>Kontrol Sumber>Pengaturan Global Git.
- Atur opsi Pangkas cabang jarak jauh selama pengambilan ke
True.
Setelah melakukan 'fetch' pada Git, Anda dapat membandingkan cabang lokal dengan cabang pelacakan jarak jauh yang bersesuaian untuk melihat apa yang berubah di cabang jarak jauh. Jika Anda memutuskan untuk memperbarui cabang lokal Anda saat ini dengan perubahan yang telah diambil, Anda dapat melakukan merge Git atau rebase . Atau, Anda dapat menjalankan Git pull, yang menggabungkan Git fetch dengan Git merge atau rebase. Git merge dan Git rebase memperbarui cabang target dengan menerapkan commit dari cabang sumber kepadanya. Namun, Git merge dan Git rebase menggunakan strategi yang berbeda. Untuk informasi selengkapnya, lihat Memperbarui cabang dengan penggabungan atau rebase dan Kapan harus melakukan rebase dibandingkan penggabungan.
Memperbarui cabang dengan merge atau rebase
Git merge dan Git rebase mengintegrasikan komit dari cabang sumber ke cabang lokal Anda saat ini (cabang target). Penggabungan Git melakukan penggabungan fast-forward atau penggabungan no-fast-forward. Penggabungan tanpa penerusan cepat juga dikenal sebagai penggabungan tiga arah atau penggabungan sejati. Git rebase adalah jenis penggabungan lain. Jenis penggabungan ini diperlihatkan dalam diagram berikut.
Git merge dan Git rebase yang digunakan secara luas dalam alur kerja Git . Saat mengerjakan fitur lokal atau cabang perbaikan bug, merupakan praktik yang umum untuk:
- Jaga cabang
mainlokal Anda tetap terkini dengan rekan jauhnya dengan secara berkala pull untuk mengambil dan menggabungkan commit jarak jauh. - Integrasikan pembaruan cabang lokal
mainke cabang fitur lokal Anda dengan menggunakan rebase atau merge. - Backup pekerjaan Anda di cabang fitur lokal dengan mengirim ke cabang jarak jauh yang sesuai.
- Setelah fitur selesai, buat pull request untuk menggabungkan cabang fitur remote Anda ke cabang remote
main.
Pendekatan ini membantu Anda:
- Perhatikan pekerjaan terbaru oleh orang lain yang mungkin memengaruhi pekerjaan Anda.
- Segera atasi konflik apa pun antara pekerjaan Anda dan yang lain.
- Terapkan fitur baru Anda di atas konten proyek up-to-date.
- Minta tinjauan permintaan pull untuk pekerjaan Anda.
Penggabungan
Untuk penggabungan Git, jika ujung cabang target ada di dalam cabang sumber, jenis penggabungan default akan menjadi penggabungan maju cepat. Jika tidak, jenis penggabungan default akan menjadi penggabungan tanpa penerusan cepat.
penggabungan Git cepat tidak akan pernah memiliki konflik penggabungan karena Git tidak akan menerapkan penggabungan maju cepat jika ujung cabang target telah berbeda dari cabang sumber. Secara default, Git menggunakan penggabungan maju cepat jika memungkinkan. Misalnya, Git akan menerapkan penggabungan maju cepat pada cabang lokal yang hanya Anda perbarui dengan menarik dari cabang mitra jarak jauhnya.
Penggabungan Git tanpa fast-forward menghasilkan "commit penggabungan" cabang target baru yang mengintegrasikan perubahan cabang sumber dengan perubahan cabang target. Perubahan yang berlaku adalah yang dilakukan setelah commit terakhir yang sama untuk kedua cabang. Dalam diagram sebelumnya, penerapan C adalah penerapan umum terakhir di kedua cabang. Jika ada perubahan cabang sumber yang bertentangan dengan perubahan cabang target, maka Git akan meminta Anda untuk mengatasi konflik penggabungan. Komit penggabungan (L) berisi perubahan yang terintegrasi dari cabang sumber dan cabang target. Ujung cabang sumber dan target (K dan E) adalah induk dari commit penggabungan. Dalam riwayat commit cabang Anda , merge commit adalah penanda yang berguna untuk operasi penggabungan, dan dengan jelas menunjukkan cabang mana yang digabungkan.
Penggabungan Git hanya memodifikasi cabang target—cabang sumber tetap tidak berubah. Ketika Anda mengalami satu atau beberapa konflik penggabungan, Anda harus mengatasinya untuk menyelesaikan penggabungan. Atau, Anda dapat membatalkan operasi penggabungan dan mengembalikan cabang target ke status sebelumnya.
Untuk informasi selengkapnya tentang opsi dan strategi penggabungan, lihat manual referensi Git dan strategi penggabungan Git .
Petunjuk / Saran
Jika cabang sumber adalah cabang remote-tracking, pastikan cabang tersebut up-to-date dengan menjalankan Git fetch sebelum merge.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Penjelajah Tim
- Antarmuka Baris Perintah Git
Pilih Git > Kelola Cabang dari bilah menu guna membuka jendela Repositori Git.
Di jendela Repositori Git , klik kanan cabang target dan memilih Checkout.
Klik kanan cabang sumber, dan pilih Gabungkan <cabang sumber> ke <cabang target>.
Visual Studio akan menampilkan pesan konfirmasi setelah penggabungan berhasil.
Jika penggabungan dihentikan karena konflik penggabungan, Visual Studio akan memberi tahu Anda. Anda dapat mengatasi konflik, atau membatalkan penggabungan dan kembali ke status pra-penggabungan.
Rebase
Git rebase mengurutkan ulang riwayat penerapan cabang target sehingga berisi semua penerapan cabang sumber, diikuti oleh semua penerapan cabang target sejak penerapan umum terakhir. Cara lain untuk melihatnya adalah bahwa Rebase Git memutar ulang perubahan di cabang target Anda di atas riwayat cabang sumber. Jika ada perubahan cabang sumber yang bertentangan dengan perubahan cabang target, maka Git akan meminta Anda untuk mengatasi konflik penggabungan. Rebase Git tidak membuat penerapan penggabungan. Perlu dicatat, Git rebase mengubah urutan commit pada cabang target yang ada, yang tidak terjadi pada strategi merge lainnya. Dalam diagram sebelumnya, penerapan K' berisi perubahan yang sama dengan K, tetapi memiliki ID penerapan baru karena menautkan kembali ke penerapan E alih-alih C.
Rebase Git hanya memodifikasi cabang target—cabang sumber tetap tidak berubah. Ketika Anda mengalami satu atau beberapa konflik penggabungan, Anda harus menyelesaikannya agar dapat menyelesaikan proses rebase. Atau, Anda dapat membatalkan operasi rebase dan mengembalikan cabang target ke status sebelumnya.
Jika Anda satu-satunya orang yang mengerjakan fitur atau cabang perbaikan bug, pertimbangkan untuk menggunakan Git rebase untuk mengintegrasikan commit pada cabang main baru. Jika tidak, gunakan Git merge. Untuk informasi selengkapnya tentang rebase Git dan kapan menggunakannya, lihat Menerapkan perubahan dengan rebase dan Rebase vs menggabungkan.
Petunjuk / Saran
Jika cabang sumber adalah cabang pelacakan jarak jauh, pastikan cabang up-to-date dengan menjalankan Git mengambil sebelum rebase.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Penjelajah Tim
- Antarmuka Baris Perintah Git
Pilih Git > Kelola Cabang untuk membuka jendela Repositori Git.
Di jendela Repositori Git , klik kanan cabang target dan memilih Checkout.
Klik kanan cabang sumber, dan pilih Rebase <cabang target> ke cabang sumber<>.
Visual Studio akan menampilkan pesan konfirmasi setelah rebase berhasil.
Jika rebase dihentikan karena konflik penggabungan, Visual Studio akan memberi tahu Anda. Anda dapat menyelesaikan konflik, atau membatalkan rebase dan kembali ke keadaan sebelum rebase.
Mengambil perubahan terbaru dan memperbarui branch dengan pull
Secara default, penarikan Git menggabungkan git mengambil dan penggabungan Git untuk memperbarui cabang lokal Anda saat ini dari mitra jarak jauhnya. Secara opsional, Git pull dapat melakukan git rebase daripada Git merge.
Tidak seperti fetch Git, pull Git akan memperbarui cabang lokal Anda saat ini segera setelah mengunduh commit baru dari repositori jarak jauh. Gunakan git pull ketika Anda tahu Anda ingin memperbarui cabang lokal Anda saat ini segera setelah fetch Git.
Petunjuk / Saran
Untuk mengonfigurasi Visual Studio agar melakukan rebase daripada menggabungkan ketika Anda melakukan Pull:
- Dari menu Git, buka Alat>Opsi>Kontrol Sumber>Pengaturan Global Git.
- Atur cabang lokal Rebase saat menarik opsi ke
True.
- Visual Studio 2022
- Visual Studio 2019 - Menu Git
- Visual Studio 2019 - Penjelajah Tim
- Antarmuka Baris Perintah Git
Di jendela Perubahan Git, pilih Tarik.
Anda juga dapat memilih Pull dari menu Git.
Pesan konfirmasi ditampilkan saat operasi penarikan selesai.
Jika ada konflik selama bagian penggabungan operasi penarikan, Visual Studio akan memberi tahu Anda. Anda dapat mengatasi konflik, atau membatalkan penggabungan dan kembali ke status pra-penggabungan.
Nota
Di Visual Studio, Sync melakukan Pull lalu Push untuk menyinkronkan cabang lokal dan jarak jauh. Untuk informasi selengkapnya tentang Sync, lihat Menggunakan git fetch, pull, push, dan sync untuk kontrol versi di Visual Studio.