Apakah git menarik gabungan
Git: apa sebenarnya yang dilakukan git
Git Pull vs Fetch
Anda mungkin dalam situasi berikut: Ada perubahan yang baru -baru ini dilakukan pada repositori jarak jauh Anda dan Anda ingin memasukkannya ke dalam salinan lokal Anda. Anda memiliki beberapa opsi di sini; Dua tindakan paling umum untuk mendapatkan perubahan dari remote Anda adalah Git Pull dan Git Fetch.
Jadi, apa perbedaan antara Git Pull vs Fetch, dan kapan Anda harus memanfaatkan perintah yang mana? Kami senang Anda bertanya.
Apa itu git fetch?
Git fetch adalah perintah yang memungkinkan Anda mengunduh objek dari repositori lain.
Apa itu Git Pull?
Git Pull adalah perintah yang memungkinkan Anda untuk mengambil dari dan berintegrasi dengan repositori lain atau cabang lokal.
Dari definisi ini, Anda dapat melihat bahwa tarikan git sebenarnya adalah git yang diikuti oleh tindakan tambahan – biasanya git git gabungan.
Kapan Anda harus menggunakan Git Pull?
Git Pull adalah tindakan yang diinginkan ketika Anda memiliki konteks lengkap tentang perubahan yang akan Anda dapatkan dari repositori jarak jauh Anda dan menambah salinan lokal Anda.
Kapan Anda harus menggunakan git fetch?
Jika Anda hanya ingin melihat semua cabang saat ini dan perubahan dalam repositori jarak jauh Anda, git fetch dapat membuat Anda semua informasi yang Anda butuhkan tanpa benar -benar membuat perubahan lokal pada pekerjaan Anda.
Ini memberi Anda waktu untuk memutuskan tindakan terbaik untuk memasukkan perubahan Anda, seperti menggabungkannya atau dengan cepat maju cabang lokal Anda.
Membandingkan Git Pull vs Fetch
Saat membandingkan git pull vs fetch, git fetch adalah alternatif yang lebih aman karena menarik semua komit dari remote Anda tetapi tidak membuat perubahan pada file lokal Anda.
Di sisi lain, Git Pull lebih cepat karena Anda melakukan beberapa tindakan dalam satu – ledakan yang lebih baik untuk uang Anda. Menggunakan perintah Git Pull dapat dilihat dalam satu cahaya sebagai fitur kenyamanan; Anda mungkin kurang khawatir tentang memasukkan konflik ke dalam repo lokal Anda dan Anda hanya menginginkan perubahan terkini dari cabang jarak jauh yang Anda tarik dari.
Git Pull adalah tindakan yang lebih maju dan penting untuk dipahami bahwa Anda akan memperkenalkan perubahan dan segera menerapkannya ke cabang yang saat ini Anda periksa saat ini.
Git Fetch sedikit berbeda; Anda dapat menggunakan perintah git fetch untuk melihat semua perubahan jarak jauh tanpa menerapkannya. Tindakan ini bisa lebih bagus jika Anda lebih baru menggunakan git, karena memberikan lebih banyak visibilitas tentang perubahan yang diperkenalkan. Di sisi lain, ambil juga mungkin lebih disukai oleh veteran git yang hanya menginginkan lebih banyak kendali atas apa yang terjadi dalam repo mereka.
Sekarang kita telah membahas apa yang dilakukan perintah masing-masing dan membandingkan git tarik vs fetch, mari kita pelajari bagaimana Anda git menarik dan git mengambil menggunakan cross-platform git gUI untuk memvisualisasikan repositori Anda dan bagaimana melakukan tindakan ini dalam CLI.
GitKraken memungkinkan Anda melihat semua detail perubahan yang Anda tarik atau ambil dari repositori jarak jauh Anda.
Bagaimana Anda git menarik vs mengambil menggunakan gitkraken?
Di Gitkraken, Anda dapat dengan mudah mengambil atau menarik dari toolbar atas.
![Gitkraken fetch] (https: // www.Gitkraken.com/wp-content/unggah/2021/04/gitkraken-fetch-1.PNG)
Atau, Anda dapat mengklik kanan pada cabang jarak jauh dari grafik pusat di gitkraken untuk mengambil atau menarik.
![GitKraken Pull] (https: // www.Gitkraken.com/wp-content/unggah/2021/05/gitkraken-pull.PNG)
Gittip: Butuh penyegaran tentang cara menarik cabang git jarak jauh? Kami telah membantu Anda.
Tetapi jika Anda seperti banyak pengembang di luar sana dan lebih suka tetap berpegang pada keyboard, GitKraken telah Anda liput dengan pencari fuzzy super nyaman, yang dapat Anda buka dengan pintasan keyboard CMD/CTRL + P.
Setelah membuka pencari fuzzy, Anda bisa mengetikkan pengambilan untuk memulai git fetch, atau menarik untuk memulai tarikan git.
![Gitkraken Fetch Fuzzy Finder] (https: // www.Gitkraken.com/wp-content/unggah/2021/04/gitkraken-fetch-fuzzy-finder-1.PNG)
![Gitkraken Pull Fuzzy Finder] (https: // www.Gitkraken.com/wp-content/unggah/2021/04/gitkraken-pull-fuzzy-finder-1.PNG)
Perubahan otomatis dengan gitkraken
GitKraken mencakup fitur yang nyaman yang memungkinkan Anda untuk secara otomatis mengambil perubahan dari repositori jarak jauh berdasarkan interval yang Anda tentukan. Anda dapat mengatur interval untuk setiap menit, setiap jam, atau menit yang ditentukan antara 0 dan 60.
Ini bisa sangat membantu untuk menjaga salinan lokal Anda tetap up-to-date dengan remote Anda, dan dapat sangat bermanfaat ketika Anda memiliki banyak hal yang terjadi dengan beberapa repositori dan proyek.
Simpan salinan lokal Anda terkini dengan perubahan dari remote Anda dan hemat waktu dengan pengambilan otomatis di gitkraken.
Bagaimana Anda mendapatkan pengambilan di baris perintah?
Jika Anda menggunakan terminal, Anda akan menggunakan perintah git fetch untuk mengambil perubahan dari cabang jarak jauh Anda.
git fetch
Bagaimana Anda git menarik baris perintah?
Demikian pula, Anda akan menggunakan perintah Git Pull untuk menarik perubahan dari remote Anda.
tarik git
Ini akan memperbarui cabang yang saat ini Anda periksa dengan perubahan dari remote Anda.
Menarik dan mengambil perubahan Anda hanya satu klik dari gitkraken, memilih klien git paling populer selama empat tahun berturut -turut. Berputar secara gratis hari ini; Anda tidak akan menyesalinya.
Git: apa sebenarnya yang dilakukan “tarik git”?
Jika Anda memiliki perubahan lokal (komitmen tidak kosong) yang belum Anda dorong, maka pohon lokal Anda tidak identik dengan yang terpencil. Selain itu, “Git Pull” bisa menjadi “git fetch” plus “git rebase”. Tapi “git rebase” dapat dilihat sebagai “git gabungan” khusus.
17 Jul 2017 jam 7:19
Anda mengajukan 5 pertanyaan berdasarkan teks di atas, berikut adalah jawaban terperinci:
1. Apa perbedaan antara git tarik dan git fetch?
Perbedaan utama antara Git Pull dan Git Fetch adalah bahwa Git menarik tidak hanya mengambil perubahan dari repositori jarak jauh tetapi juga mengintegrasikannya ke dalam cabang lokal Anda. Di sisi lain, git ambil hanya mengunduh perubahan dari repositori jarak jauh tanpa menerapkannya ke cabang lokal Anda.
2. Kapan Anda harus menggunakan Git Pull?
Git Pull direkomendasikan ketika Anda memiliki pengetahuan lengkap tentang perubahan yang dibuat di repositori jarak jauh dan Anda ingin segera menerapkannya ke cabang lokal Anda. Ini berguna saat Anda ingin dengan cepat memasukkan perubahan terbaru ke dalam pekerjaan Anda.
3. Kapan Anda harus menggunakan git fetch?
Git fetch berguna saat Anda ingin melihat perubahan yang dibuat di repositori jarak jauh tanpa membuat perubahan lokal. Ini memungkinkan Anda untuk meninjau perubahan dan memutuskan pendekatan terbaik untuk mengintegrasikannya ke dalam pekerjaan Anda, seperti menggabungkan atau memajukan cabang lokal Anda.
4. Perintah mana yang lebih aman, tarik git atau git ambil?
Git fetch dianggap lebih aman karena hanya mengunduh perubahan dari repositori jarak jauh tanpa memodifikasi file lokal Anda. Di sisi lain, Git Pull menerapkan perubahan segera ke cabang yang saat ini Anda periksa, yang dapat memperkenalkan konflik jika tidak ditangani dengan benar.
5. Mengapa git menarik lebih cepat dari git fetch?
Tarik git lebih cepat karena menggabungkan banyak tindakan menjadi satu. Ini mengambil perubahan dari repositori jarak jauh dan mengintegrasikannya ke dalam cabang lokal Anda dalam satu perintah. Ini bisa lebih mudah jika Anda kurang peduli tentang konflik dan hanya menginginkan perubahan terbaru dari cabang jarak jauh.
Git: apa sebenarnya yang dilakukan git
Gittip: Butuh penyegaran tentang cara menarik cabang git jarak jauh? Kami’ve membuatmu tertutup.
Git Pull vs Fetch
Anda’kemungkinan dalam situasi berikut: Ada perubahan yang baru -baru ini dilakukan pada repositori jarak jauh Anda dan Anda ingin memasukkannya ke dalam salinan lokal Anda. Anda memiliki beberapa opsi di sini; Dua tindakan paling umum untuk mendapatkan perubahan dari remote Anda adalah Git Pull dan Git Fetch.
Terus’s Perbedaan antara git tarik vs fetch, dan kapan Anda harus memanfaatkan perintah mana? Kami’senang Anda bertanya.
Apa itu git fetch?
Git fetch adalah perintah yang memungkinkan Anda mengunduh objek dari repositori lain.
Apa itu Git Pull?
Git Pull adalah perintah yang memungkinkan Anda untuk mengambil dari dan berintegrasi dengan repositori lain atau cabang lokal.
Dari definisi ini, Anda dapat melihat bahwa tarikan git sebenarnya adalah git yang diikuti oleh tindakan tambahan – biasanya git git gabungan.
Kapan Anda harus menggunakan Git Pull?
Git Pull adalah tindakan yang diinginkan ketika Anda memiliki konteks lengkap tentang perubahan yang akan Anda dapatkan dari repositori jarak jauh Anda dan menambah salinan lokal Anda.
Kapan Anda harus menggunakan git fetch?
Jika Anda hanya ingin melihat semua cabang saat ini dan perubahan dalam repositori jarak jauh Anda, git fetch dapat membuat Anda semua informasi yang Anda butuhkan tanpa benar -benar membuat perubahan lokal pada pekerjaan Anda.
Ini memberi Anda waktu untuk memutuskan tindakan terbaik untuk memasukkan perubahan Anda, seperti menggabungkannya atau dengan cepat maju cabang lokal Anda.
Membandingkan Git Pull vs Fetch
Saat membandingkan git pull vs fetch, git fetch adalah alternatif yang lebih aman karena menarik semua komit dari remote Anda tetapi tidak’t membuat perubahan pada file lokal Anda.
Di sisi lain, tarik git lebih cepat seperti Anda’melakukan beberapa tindakan dalam satu – ledakan yang lebih baik untuk uang Anda. Menggunakan perintah Git Pull dapat dilihat dalam satu cahaya sebagai fitur kenyamanan; Anda’mungkin mungkin kurang khawatir tentang memasukkan konflik ke dalam repo lokal Anda dan Anda hanya menginginkan perubahan terkini dari cabang jarak jauh Anda’kembali menarik dari.
Git Pull adalah tindakan yang lebih maju dan itu’S penting untuk dipahami bahwa Anda akan memperkenalkan perubahan dan segera menerapkannya ke cabang yang saat ini Anda periksa.
Git Fetch sedikit berbeda; Anda dapat menggunakan perintah git fetch untuk melihat semua remote’S berubah tanpa menerapkannya. Tindakan ini bisa sangat bagus jika Anda’lebih baru untuk git, karena memberikan lebih banyak visibilitas tentang perubahan yang diperkenalkan. Di sisi lain, ambil juga mungkin lebih disukai oleh veteran git yang hanya menginginkan lebih banyak kendali atas apa’s terjadi dalam repo mereka.
Sekarang kita’ve pergi ke atas apa yang dilakukan perintah masing -masing dan telah membandingkan git tarik vs fetch, biarkan’S Pelajari bagaimana Anda git menarik dan git mengambil menggunakan cross-platform gitkraken git gui untuk memvisualisasikan repositori Anda dan bagaimana melakukan tindakan ini di CLI.
GitKraken memungkinkan Anda melihat semua detail dari perubahan Anda’menarik kembali atau mengambil dari repositori jarak jauh Anda.
Bagaimana Anda git menarik vs mengambil menggunakan gitkraken?
Di Gitkraken, Anda dapat dengan mudah mengambil atau menarik dari toolbar atas.

Atau, Anda dapat mengklik kanan pada cabang jarak jauh dari grafik pusat di gitkraken untuk mengambil atau menarik.

Gittip: Butuh penyegaran tentang cara menarik cabang git jarak jauh? Kami’ve membuatmu tertutup.
Tetapi jika Anda’Seperti banyak pengembang di luar sana dan lebih suka tetap berpegang pada keyboard, gitkraken telah Anda liput dengan pencari fuzzy super nyaman, yang dapat Anda buka dengan pintasan keyboard cmd/ctrl + p .
Setelah membuka pencari fuzzy, Anda bisa mengetikkan pengambilan untuk memulai git fetch, atau menarik untuk memulai tarikan git.


Perubahan otomatis dengan gitkraken
GitKraken mencakup fitur yang nyaman yang memungkinkan Anda untuk secara otomatis mengambil perubahan dari repositori jarak jauh berdasarkan interval yang Anda tentukan. Anda dapat mengatur interval untuk setiap menit, setiap jam, atau menit yang ditentukan antara 0 dan 60.
Ini bisa sangat membantu untuk menjaga salinan lokal Anda tetap up-to-date dengan remote Anda, dan dapat sangat bermanfaat ketika Anda memiliki banyak hal yang terjadi dengan beberapa repositori dan proyek.
Simpan salinan lokal Anda terkini dengan perubahan dari remote Anda dan hemat waktu dengan pengambilan otomatis di gitkraken.
Bagaimana Anda mendapatkan pengambilan di baris perintah?
Jika kamu’menggunakan terminal, Anda akan menggunakan perintah git fetch untuk mengambil perubahan dari cabang jarak jauh Anda.
git fetch
Bagaimana Anda git menarik baris perintah?
Demikian pula, Anda akan menggunakan perintah Git Pull untuk menarik perubahan dari remote Anda.
tarik git
Ini akan memperbarui cabang yang saat ini Anda periksa dengan perubahan dari remote Anda.
Menarik dan mengambil perubahan Anda hanya satu klik dari gitkraken, memilih klien git paling populer selama empat tahun berturut -turut. Berputar secara gratis hari ini; Anda menang’t menyesal.
Git: apa sebenarnya yang dilakukan “tarik git”?
Jika Anda memiliki perubahan lokal (komitmen tidak kosong) yang belum Anda dorong, maka pohon lokal Anda tidak identik dengan yang terpencil. Selain itu, “Git Pull” bisa menjadi “git fetch” plus “git rebase”. Tapi “git rebase” dapat dilihat sebagai “git gabungan” khusus.
17 Jul 2017 jam 7:19
Anda mengajukan 5 pertanyaan di sini 🙂
17 Jul 2017 jam 7:24
Saya berharap setidaknya mereka bagus.
17 Jul 2017 jam 7:43
4 Jawaban 4
Itu tepat Bagian benar -benar sangat sulit. Ini sering dikatakan – dan sebagian besar benar – bahwa tarikan git menjalankan git diikuti oleh git gabungan atau git rebase, dan pada kenyataannya, git tarikan, yang dulunya adalah naskah shell dan sekarang menjadi program C, secara harfiah menjalankan git fetch terlebih dahulu, meskipun sekarang secara langsung meminta kode C yang mengimplementasikan git fetch .
Langkah selanjutnya, bagaimanapun, cukup rumit. Juga, dalam komentar, Anda menambahkan ini:
[ambil] membawa perubahan dari repo jarak jauh. Di mana itu menempatkan mereka?
Untuk memahami hal ini dengan benar, Anda harus memahami sistem objek Git.
Model objek git, dan git ambil
Setiap komit adalah semacam entitas mandiri. Setiap komit memiliki ID hash yang unik: B06D364. atau terserah. ID hash itu adalah checksum kriptografi dari isi komit itu. Pertimbangkan, misalnya:
$ Git Cat -File -P Head | Sed 'S/@//G' Tree A15B54EB544033F8C1AD04DD0A5278A59CC36CC9 Induk 951A7656EBB3F30E6C5E941E62599999999999999999999999999999999999999999999999999999999999999999 0900 git 2.13 Signed-by: Junio ​​C Hamano
Jika Anda memberi makan konten ini (dikurangi bagian ‘S/@//’. Ini berarti itu setiap orang yang memiliki komit ini memiliki sama hash id untuk itu.
Anda bisa mendapatkan repositori git untuk git dan menjalankan git kucing -p v2.13.0^ untuk melihat data yang sama ini. Catatan: Tag v2.13.0 diterjemahkan ke 074FFB61B4B507B3BDE7DCF6006E5660A0430860, yang merupakan objek tag; Objek tag itu sendiri mengacu pada komit B06D364. :
$ git kucing -p v2.13.0 Objek B06D3643105C8758ED019125A4399CB7EFDCCE2C TYPE Commit Tag V2.13.0 [snip] Untuk bekerja dengan komit, git harus menyimpan objek komit – item dengan hash id b06d364. —S sendiri di suatu tempat, dan juga objek pohonnya dan objek tambahan apa pun yang dibutuhkan pohon. Ini adalah objek yang Anda lihat menghitung dan mengompresi selama git fetch atau git dorongan .
Garis induk memberi tahu komit mana (atau, untuk penggabungan, komit, jamak) adalah pendahulu dari komit khusus ini. Untuk memiliki serangkaian komitmen lengkap, git harus Juga Miliki orang tua yang berkomitmen (a -klon hallow dapat dengan sengaja menghilangkan berbagai orang tua, yang IDnya direkam dalam file khusus “cangkok dangkal”, tetapi klon normal akan selalu memiliki segalanya).
Ada empat jenis objek secara total: tag Commits, (Annotated), pohon, dan apa yang Git Call gumpal objek. Gumpalan sebagian besar menyimpan file yang sebenarnya. Semua benda ini berada di git Database Objek. Git kemudian dapat mengambilnya dengan mudah dengan hash id: Git Cat-File -p, misalnya, menampilkannya dalam format yang samar-samar dibaca manusia. (Sebagian besar waktu ada sedikit yang harus dilakukan selain de-compressing, meskipun objek pohon memiliki data biner yang harus diformat terlebih dahulu.)
Saat Anda menjalankan git fetch – atau mintalah git tarik jalankan untuk Anda – git Anda mendapatkan id hash dari beberapa objek awal dari git lain, kemudian menggunakan protokol transfer git untuk mengetahui objek tambahan apa yang diperlukan untuk menyelesaikan repositori git Anda Anda. Jika kamu sudah punya Beberapa objek, Anda tidak perlu mengambilnya lagi, dan jika objek itu adalah objek komit, Anda juga tidak memerlukan orang tuanya. 1 Jadi Anda hanya mendapatkan komitmen (dan pohon dan gumpalan) yang belum Anda miliki. Git Anda kemudian memasukkan ini ke dalam database objek repositori Anda.
Setelah objek disimpan dengan aman, git Anda mencatat ID hash dalam file fetch_head khusus. Jika git Anda setidaknya 1.8.4, itu akan Juga Perbarui apapun yang sesuai Nama cabang pelacakan jarak jauh Saat ini: E.G., itu mungkin memperbarui asal/master Anda .
(Jika Anda menjalankan git fetch secara manual, git Anda mematuhi semua aturan pembaruan refspec normal, seperti yang dijelaskan dalam dokumentasi git fetch. Argumen tambahan yang diteruskan untuk mendapatkan git dengan tarik git yang menghambat beberapa di antaranya, tergantung pada versi git Anda.)
Maka, itu adalah jawaban atas apa yang saya pikir adalah pertanyaan pertama Anda yang sebenarnya: git fetch menyimpan objek -objek ini dalam database objek git, di mana mereka dapat diambil oleh ID hash mereka. Itu menambahkan id hash ke .git/fetch_head (selalu), dan seringkali juga memperbarui beberapa referensi Anda-nama tag dalam ref/tag/, dan nama cabang pelacakan jarak jauh di ref/remote/ .
1 Kecuali, yaitu, untuk “melepaskan” klon yang dangkal.
Sisa tarikan git
Menjalankan git fetch membuat Anda objek, tetapi tidak melakukan apa pun untuk memasukkan objek -objek itu ke dalam salah satu dari milikmu bekerja. Jika Anda mau menggunakan The Fetched Commits atau Data Lainnya, Anda memerlukan langkah kedua.
Dua tindakan utama yang dapat Anda lakukan di sini adalah git gabungan atau git rebase . Cara terbaik untuk memahaminya adalah dengan membacanya tentang mereka di tempat lain (postingan lainnya, dokumentasi lain, dan sebagainya). Keduanya, bagaimanapun, perintah yang rumit – dan ada satu kasus khusus untuk tarikan git bukan ditutupi oleh keduanya: khususnya, Anda dapat melakukan tarik ke cabang yang tidak ada. Anda memiliki cabang yang tidak ada (yang juga disebut git Cabang Yatim atau Cabang yang belum lahir) dalam dua kasus:
- dalam repositori baru yang kosong (yang tidak memiliki komitmen), atau
- Setelah menjalankan checkout git -newbranch orphan
Dalam kedua kasus, tidak ada komit saat ini Jadi tidak ada yang perlu ditambang atau bergabung. Namun, indeks dan/atau pohon kerja tidak harus kosong! Mereka awalnya kosong di repositori baru yang kosong, tetapi pada saat Anda menjalankan git tarik Anda bisa membuat file dan menyalinnya ke dalam indeks.
Jenis tarikan git ini secara tradisional menjadi buggy, jadi hati -hati: versi git sebelum 1.8-ish terkadang akan menghancurkan pekerjaan yang tidak berkomitmen. Saya pikir yang terbaik adalah menghindari tarik git sepenuhnya di sini: jalankan saja git ambil sendiri, dan kemudian cari tahu apa yang ingin Anda lakukan. Sejauh yang saya tahu, tidak apa-apa di git modern-versi ini tidak akan menghancurkan indeks dan pohon kerja Anda-tetapi saya terbiasa menghindari git menarik diri saya sendiri.
Bagaimanapun, bahkan jika Anda tidak menggunakan cabang yatim/belum lahir/tidak ada, itu bukan ide bagus untuk mencoba menjalankan git git dengan indeks kotor dan/atau pohon kerja (“pekerjaan yang tidak berkomitmen”). Perintah git rebase sekarang memiliki opsi penahan otomatis (rebase.autostash), jadi Anda dapat memiliki git secara otomatis menjalankan git simpanan simpan untuk membuat beberapa komitmen dari pekerjaan yang tidak berkomitmen seperti itu. Kemudian rebase itu sendiri dapat berjalan, setelah itu git dapat secara otomatis menerapkan dan menjatuhkan simpanan.
Perintah git gabungan tidak memiliki opsi otomatis ini, tetapi tentu saja Anda dapat melakukannya secara manual.
Perhatikan bahwa semua ini tidak berfungsi jika Anda berada di tengah -tengah a bertentangan menggabungkan. Dalam keadaan ini, indeks memiliki entri tambahan: Anda tidak dapat melakukan ini sampai Anda menyelesaikan konflik, dan Anda bahkan tidak dapat menyimpannya (yang mengikuti secara alami dari fakta bahwa git stash benar -benar membuat komitmen). Anda Bisa Jalankan git fetch, at setiap waktu, karena itu hanya menambahkan objek baru ke database objek; tetapi Anda tidak dapat bergabung atau rebase saat indeks berada di negara bagian ini.
Git Pull –rebase VS. –menggabungkan
Halaman ini secara singkat menjelaskan perbedaan antara rebasing dan penggabungan di git sambil menarik. Kedua teknik digunakan untuk menggabungkan perubahan lokal Anda yang tidak dipublikasikan dengan perubahan jarak jauh yang diterbitkan. Ada wikipage lain tentang cara menangkap kembali atau menggabungkan cabang.
Jika Anda ingin memahami rincian rebasing dan penggabungan untuk perubahan dan cabang, maka Syou harus membaca posting blog oleh Mislav Marohnnic dan bab tentang Rebasing dan bergabung dari Buku Pro Git Pro Git.
rebasing
Jika Anda menarik perubahan jarak jauh dengan bendera -Rebase, maka perubahan lokal Anda diterapkan kembali di atas perubahan jarak jauh.
Git Pull --rebase
penggabungan
Jika Anda menarik perubahan jarak jauh dengan bendera -Merge, yang juga merupakan default, maka perubahan lokal Anda digabungkan dengan perubahan jarak jauh. Ini menghasilkan komit gabungan yang menunjuk ke komit lokal terbaru dan komitmen jarak jauh terbaru.
Git Pull --dge
praktek terbaik
Itu adalah praktik terbaik selalu rebase komitmen lokal Anda Saat Anda menarik sebelum mendorongnya. Karena belum ada yang tahu komitmen Anda, belum ada yang bingung ketika mereka dibebaskan kembali tetapi komitmen tambahan dari penggabungan akan membingungkan. Namun, komit yang diterbitkan biasanya digabungkan, misalnya ketika cabang digabungkan.
Untuk menghindari pengetikan –Rebase setiap kali Anda menarik, Anda dapat mengonfigurasi git untuk menggunakannya sebagai default:
git config --global tarik.Rebase benar
Jika Anda ingin menggabungkan komitmen lokal sebelum mendorongnya ke hulu, misalnya, karena Anda menemukan kesalahan ketik atau bug setelah komit, Anda dapat melakukan ini secara interaktif:
git rebase -i
Jika Anda ingin mengetahui detailnya atau memiliki versi git lama, ikuti petunjuk literatur di atas.
Apa perbedaan antara git fetch dan git tarikan ?
Sebelum kita berbicara tentang perbedaan Di antara kedua perintah ini, mari kita tekankan kesamaan mereka: keduanya digunakan unduh Data baru dari repositori jarak jauh.
Mengunduh data adalah langkah penting dalam pekerjaan harian Anda – karena data jarak jauh yang Anda lihat di repositori lokal Anda hanyalah “snapshot”. Ini hanya mutakhir seperti yang terakhir kali Anda secara eksplisit Data segar yang diunduh dari remote dengan “fetch” atau “tarik”. Sangat penting untuk mengingat fakta ini ketika memeriksa cabang -cabang jarak jauh dan berkomitmen!
Sekarang mari kita lihat perbedaan yang bagus tapi penting antara “ambil” dan “tarik”.
Lembar Cheat Git
Tidak perlu mengingat semua perintah dan parameter itu: Dapatkan “lembar cheat git” populer kami – gratis!
Mengambil
$ git mengambil asal git fetch Benar -benar hanya mengunduh data baru dari repositori jarak jauh – tetapi tidak mengintegrasikan data baru ini ke dalam file kerja Anda. Fetch sangat bagus untuk mendapatkan pandangan baru tentang semua hal yang terjadi di repositori jarak jauh.
Karena sifatnya yang “tidak berbahaya”, Anda dapat yakin: Fetch tidak akan pernah memanipulasi, menghancurkan, atau mengacaukan apa pun. Ini berarti Anda tidak akan pernah bisa cukup sering menjemput.
Menarik
$ git tarik asal master tarik git, Sebaliknya, digunakan dengan tujuan yang berbeda: untuk memperbarui cabang kepala Anda saat ini dengan perubahan terbaru dari server jarak jauh. Ini berarti tarikan tidak hanya mengunduh data baru; itu juga secara langsung mengintegrasikan itu ke dalam file salinan kerja Anda saat ini. Ini memiliki beberapa konsekuensi:
- Karena “Git Pull” mencoba menggabungkan perubahan jarak jauh dengan yang lokal Anda, yang disebut “konflik gabungan” dapat terjadi. Lihat tutorial mendalam kami tentang cara menangani konflik gabungan untuk informasi lebih lanjut.
- Seperti banyak tindakan lainnya, sangat disarankan untuk memulai “tarikan git” hanya dengan salinan kerja yang bersih. Ini berarti Anda harus melakukannya bukan memiliki perubahan lokal yang tidak berkomitmen sebelum Anda menarik. Gunakan fitur simpanan git untuk menyimpan perubahan lokal Anda sementara.
Tip
Fetching otomatis + penumpukan otomatis di menara
Jika Anda menggunakan klien menara git, Anda tidak perlu mengambil secara manual All The Time: Tower Fetches for You Background, secara teratur dan otomatis. Dan jika Anda mencoba menarik saat memiliki perubahan lokal yang tidak berkomitmen dalam salinan kerja Anda, Tower akan secara otomatis menawarkan kepada Simpan dengan aman di simpanan untukmu:
Belajarlah lagi
- Lihat Bab Memeriksa Data Jarak Jauh di Buku Online Gratis Kami
- Pertanyaan yang lebih sering diajukan tentang kontrol git & versi
Dapatkan populer kami Lembar Cheat Git gratis!
Anda akan menemukan perintah terpenting di bagian depan dan tips latihan terbaik di bagian belakang. Lebih dari 100.000 pengembang telah mengunduhnya untuk membuat git sedikit lebih mudah.
Tentang kami
Sebagai pembuat Tower, klien git terbaik untuk Mac dan Windows, kami membantu lebih dari 100.000 pengguna di perusahaan seperti Apple, Google, Amazon, Twitter, dan eBay mendapatkan hasil maksimal dari git.
Sama seperti dengan Tower, misi kami dengan platform ini adalah membantu orang menjadi profesional yang lebih baik.
Itu sebabnya kami memberikan panduan, video, dan lembar cheat kami (tentang kontrol versi dengan git dan banyak topik lainnya) secara gratis.
© 2010-2023 Tower – Nama produk yang disebutkan dan logo adalah milik pemiliknya masing -masing.
Mendapatkan perubahan dari repositori jarak jauh
Anda dapat menggunakan perintah git umum untuk mengakses repositori jarak jauh.
Pilihan untuk mendapatkan perubahan
Perintah ini sangat berguna saat berinteraksi dengan repositori jarak jauh. klon dan fetch download kode jarak jauh dari url jarak jauh repositori ke komputer lokal Anda, gabungan digunakan untuk menggabungkan pekerjaan orang yang berbeda bersama dengan Anda, dan tarik adalah kombinasi dari fetch dan gabungan .
Mengkloning repositori
Untuk mengambil salinan lengkap repositori pengguna lain, gunakan klon git seperti ini:
$ git clone https: // github.com/nama pengguna/repositori.git # klon repositori ke komputer Anda Anda dapat memilih dari beberapa URL yang berbeda saat mengkloning repositori. Saat masuk ke GitHub, URL ini tersedia di halaman utama repositori saat Anda mengklik

Saat Anda menjalankan klon git, tindakan berikut terjadi:
- Folder baru yang disebut repo dibuat
- Ini diinisialisasi sebagai repositori git
- Asal bernama remote dibuat, menunjuk ke URL yang Anda kloning
- Semua file dan komitmen repositori diunduh di sana
- Cabang default diperiksa
Untuk setiap cabang FOO di repositori jarak jauh, cabang pelacakan jarak jauh yang sesuai/remote/asal/foo dibuat di repositori lokal Anda. Anda biasanya dapat menyingkat nama cabang pelacakan jarak jauh tersebut ke Origin/Foo .
Mengambil perubahan dari repositori jarak jauh
Gunakan git fetch untuk mengambil pekerjaan baru yang dilakukan oleh orang lain. Mengambil dari repositori mengambil semua cabang dan tag pelacakan jarak jauh baru tanpa menggabungkan perubahan itu ke cabang Anda sendiri.
Jika Anda sudah memiliki repositori lokal dengan URL jarak jauh yang diatur untuk proyek yang diinginkan, Anda dapat mengambil semua informasi baru dengan menggunakan git fetch * Remotename * di terminal:
$ git fetch name jarak jauh # ambil pembaruan yang dibuat ke repositori jarak jauh Jika tidak, Anda selalu dapat menambahkan remote baru dan kemudian ambil. Untuk informasi lebih lanjut, lihat “Mengelola repositori jarak jauh.”
Menggabungkan perubahan ke cabang lokal Anda
Penggabungan menggabungkan perubahan lokal Anda dengan perubahan yang dilakukan oleh orang lain.
Biasanya, Anda akan menggabungkan cabang pelacakan jarak jauh (i.e., Cabang yang diambil dari repositori jarak jauh) dengan cabang lokal Anda:
$ git menggabungkan nama jarak jauh/branch-name # gabungan pembaruan yang dibuat online dengan pekerjaan lokal Anda Menarik perubahan dari repositori jarak jauh
Git Pull adalah jalan pintas yang nyaman untuk menyelesaikan git fetch dan git gabungan dalam perintah yang sama:
$ git tarik nama-nama-nama-nama-name # meraih pembaruan online dan menggabungkannya dengan pekerjaan lokal Anda Karena tarik melakukan penggabungan pada perubahan yang diambil, Anda harus memastikan bahwa pekerjaan lokal Anda dilakukan sebelum menjalankan perintah tarik. Jika Anda mengalami konflik penggabungan, Anda tidak dapat menyelesaikannya, atau jika Anda memutuskan untuk keluar dari penggabungan, Anda dapat menggunakan git merge -laboratorium untuk membawa cabang kembali ke tempatnya sebelum Anda menarik.
Bacaan lebih lanjut
- “Bekerja dengan remote” dari Pro git buku”
- “Masalah Pemecahan Masalah Konektivitas”
Bantuan dan dukungan
Bantu kami membuat dokumen ini hebat!
Semua dokumen github adalah open source. Lihat sesuatu yang salah atau tidak jelas? Kirimkan permintaan tarik.
