Jadual Kandungan
tarik atau ambil
cantum atau base semula
示例操作
其他命令参考
Rumah alat pembangunan git Mari kita bincangkan tentang cara menarik dan menggabungkan kod secara elegan dalam Gitlab

Mari kita bincangkan tentang cara menarik dan menggabungkan kod secara elegan dalam Gitlab

Mar 28, 2023 pm 07:09 PM
git github gitlab

Bagaimana untuk menarik dan menggabungkan kod secara elegan dalam Gitlab? Artikel berikut akan memperkenalkan anda kepada kaedah menarik dan menggabungkan kod dalam Gitlab saya harap ia akan membantu anda!

Mari kita bincangkan tentang cara menarik dan menggabungkan kod secara elegan dalam Gitlab

tarik atau ambil

Terdapat dua bentuk operasi kod tarik, git pull dan git fetch, kemudian ini What's perbezaan antara keduanya?

Mari kita lihat gambarajah seni bina dahulu

Gambar menunjukkan proses git yang lengkap untuk memahami setiap kawasan dengan lebih jelas, mari kita pergi bawah Terangkan fungsinya:

  • direktori kerja, hanyalah kawasan tempat anda bekerja. Untuk git, ia adalah direktori kerja tempatan.
  • Kawasan pementasan (kawasan pentas, juga dipanggil kawasan indeks), ialah peringkat peralihan sebelum menyerahkan pengubahsuaian kepada repositori. Terdapat fail .git dalam direktori index di bawah direktori kerja, yang menyimpan kandungan kawasan storan sementara. Perintah git add menambah kandungan ruang kerja ke kawasan pementasan.
  • Repositori tempatan, repositori sistem kawalan versi, wujud secara tempatan. Apabila arahan git commit dilaksanakan, kandungan kawasan pementasan akan diserahkan ke gudang. Direktori .git/objects menyimpan setiap rekod penyerahan, manakala direktori .git/refs menyimpan maklumat cawangan dan maklumat tag.
  • Repositori jauh, pada asasnya adalah konsep yang sama dengan gudang tempatan Perbezaannya ialah satu wujud dari jauh dan boleh digunakan untuk kerjasama jauh, manakala satu lagi wujud secara tempatan. Interaksi setempat dan jauh boleh dicapai melalui tolak/tarik;
  • salinan gudang jauh, boleh difahami sebagai cache gudang jauh yang wujud secara tempatan. Apabila menggunakan git fetch untuk menarik repositori kod jauh, ia adalah sama dengan mempunyai salinan tempatan repositori jauh Anda boleh memilih untuk menggabungkan salinan ini ke dalam repositori tempatan.

Seperti yang anda boleh lihat daripada gambar, apabila kami menggunakan git pull untuk menarik kod, ia akan digabungkan terus ke dalam cawangan tempatan, dan apabila kami menggunakan git fetch untuk menarik kod, ia mula-mula akan digabungkan ke dalam cawangan tempatan Jana salinan repositori jauh dan kemudian menggabungkannya ke dalam cawangan tempatan menggunakan git merge atau git rebase.

Mengapa melakukannya beberapa kali apabila anda boleh git pull melakukannya secara langsung? Bayangkan satu senario Apabila anda ingin menggabungkan kod orang lain, tetapi anda tidak tahu perkara yang telah mereka ubah dan sama ada ia boleh digabungkan dengan kod anda, ini boleh dicapai dengan mudah melalui git fetch. git fetch Pada masa hadapan, ia tidak akan digabungkan dengan cawangan tempatan serta-merta Selepas git fetch, gambar berikut akan dipaparkan:

Gambar di atas menunjukkan bahawa. cawangan jauh baharu telah ditambahkan test2 cawangan, terdapat satu lagi maklumat penyerahan pada cawangan test Pada masa ini, anda boleh melihat satu lagi cawangan .git/refs/remotes/origin dalam direktori test2.

Menggunakan git log origin/test, anda boleh melihat maklumat penyerahan tertentu

Jika anda ingin melihat kandungan yang diserahkan, anda hanya boleh membuat cawangan baharu ,

git checkout -b test-origin
git merge test
Salin selepas log masuk

Setelah berkata ini, saya percaya anda sudah faham perbezaan antara git pull dan git fetch. Untuk meringkaskan:

  • git fetch lebih selamat dan lebih mesra pengguna

  • git pull lebih agresif dan merosakkan

Ketua Umum lazimnya menggunakan git fetch semasa menguruskan projek untuk menyemak cawangan mana yang telah ditambah baru-baru ini dan apakah pengubahsuaian yang telah dibuat, supaya dapat mengawal projek dengan lebih baik.

cantum atau base semula

Untuk operasi cantum yang disebutkan di atas, kami biasanya menggabungkan kod cawangan tertentu terus melalui git merge <分支名>. Mari kita lihat dahulu masalah penggunaan git merge secara langsung Terdapat mesej Merge branch yang sangat tidak menyenangkan, seperti yang ditunjukkan dalam gambar di bawah:

Gambar di bawah adalah. menggabungkan satu A carta alir Apabila kita menarik main dalam cabang dev untuk pembangunan, kedua-dua cawangan mempunyai rekod komit Apabila kita bergabung, keadaan biasa harus bergabung secara langsung atas dasar utama, bukan Ada maklumat penyerahan C7 tambahan, iaitu Merge branch yang dinyatakan di atas Ini jelas merupakan fenomena yang sangat tidak munasabah (sudah tentu, ini tidak menjejaskan kerja biasa git).

Jadi bagaimana untuk menyelesaikan masalah yang disebabkan oleh fenomena ini? Jawapannya ialah git rebase, biasanya dikenali sebagai rebasing.

下面我们先来看看变基以后git分支是什么样的了

可以看到,当dev分支更新之后,它会指向这些新创建的提交(commit),而那些老的提交会被丢弃。

示例操作

上面讲了这么多,现在让我们来实际操作一下。

场景:远程有一个main分支上有内容更新,现在我们需要把更新的内容合并到本地dev分支上,然后push到远程dev分支,当前分支实在dev分支。

简单实现(就是很朴实无华):

# 拉取main分支代码
git fetch origin main
# 合并到dev
git rebase origin/main
Salin selepas log masuk

上面的git rebase还有个快捷的操作,直接一行命令搞定

# 拉取test分支代码合并到dev
git pull --rebase origin test
Salin selepas log masuk

如果你不想每次都添加rebase,可以在终端中输入下面的命令:

git config --global pull.rebase true
Salin selepas log masuk

这个配置就是告诉git在每次pull前先进行rebase操作

其他命令参考

# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看所有分支
git branch -a

# 拉取所有远程分支代码
git fetch 
# 拉取origin源上所有分支代码
git fetch origin
# 拉取orign源上main分支代码
git fetch origin main

# 拉取远程分支到新建的一个本地分支并
git checkout -b newBrach origin/master
# 合并远程分支到本地
git pull --rebase origin master

# 查看提交日志
git log --oneline
# 查看某个人提交的日志
git log --author=xiumubai --oneline
# 查看某个文件提交的记录
git blame README.md
# 查看某次提交的内容
git show <commitid>
# 查看最近几次的提交

git log -p -n
Salin selepas log masuk

(学习视频分享:编程基础视频

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menarik dan menggabungkan kod secara elegan dalam Gitlab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Memasang DeepSeek Cara Memasang DeepSeek Feb 19, 2025 pm 05:48 PM

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Ringkasan Soalan Lazim untuk Penggunaan DeepSeek Ringkasan Soalan Lazim untuk Penggunaan DeepSeek Feb 19, 2025 pm 03:45 PM

Panduan Pengguna Alat DeepSeekai dan FAQ DeepSeek adalah alat pintar AI yang kuat. FAQ: Perbezaan antara kaedah akses yang berbeza: Tidak ada perbezaan fungsi antara versi web, versi aplikasi dan panggilan API, dan aplikasi hanya pembungkus untuk versi web. Penggunaan tempatan menggunakan model penyulingan, yang sedikit lebih rendah daripada versi penuh DeepSeek-R1, tetapi model 32-bit secara teorinya mempunyai keupayaan versi penuh 90%. Apa itu bar? Sillytavern adalah antara muka depan yang memerlukan memanggil model AI melalui API atau Ollama. Apa itu Had Breaking

Apakah alat AI? Apakah alat AI? Nov 29, 2024 am 11:11 AM

Alat AI termasuk: Doubao, ChatGPT, Gemini, BlenderBot, dll.

Apakah Dana Amanah Penyulitan Kelabu? Apakah Dana Amanah Penyulitan Kelabu? Mar 05, 2025 pm 12:33 PM

Pelaburan Grayscale: Saluran untuk pelabur institusi untuk memasuki pasaran cryptocurrency. Syarikat itu telah melancarkan beberapa amanah crypto, yang telah menarik perhatian pasaran yang meluas, tetapi kesan dana ini pada harga token berbeza dengan ketara. Artikel ini akan memperkenalkan secara terperinci beberapa dana amanah utama Grayscale. Dana Grayscale Major Crypto Trust yang boleh didapati dengan sekilas Pelaburan Grayscale (yang diasaskan oleh DigitalCurrencyGroup pada tahun 2013) menguruskan pelbagai dana amanah aset crypto, menyediakan pelabur institusi dan individu yang bernilai tinggi dengan saluran pelaburan yang mematuhi. Dana utamanya termasuk: Zcash (Zec), Sol,

Sebagai pembuat pasaran teratas memasuki pasaran crypto, apakah impak yang akan dimiliki oleh Castle Securities terhadap industri ini? Sebagai pembuat pasaran teratas memasuki pasaran crypto, apakah impak yang akan dimiliki oleh Castle Securities terhadap industri ini? Mar 04, 2025 pm 08:03 PM

Kemasukan pembuat pasaran Castle Securities ke dalam pembuat pasaran Bitcoin adalah simbol kematangan pasaran Bitcoin dan langkah utama bagi pasukan kewangan tradisional untuk bersaing untuk kuasa harga aset masa depan. Pada 25 Februari, menurut Bloomberg, Citadel Securities berusaha untuk menjadi penyedia kecairan untuk kriptografi. Syarikat itu bertujuan untuk menyertai senarai pembuat pasaran di pelbagai bursa, termasuk pertukaran yang dikendalikan oleh Coinbaseglobal, Binanceholdings dan Crypto.com, orang yang biasa dengan perkara itu berkata. Setelah diluluskan oleh pertukaran, syarikat itu pada mulanya merancang untuk menubuhkan pasukan pembuat pasaran di luar Amerika Syarikat. Langkah ini bukan hanya tanda

Delphi Digital: Bagaimana Mengubah Ekonomi AI Baru Dengan Mengurangkan Senibina Elizaos V2 Baru? Delphi Digital: Bagaimana Mengubah Ekonomi AI Baru Dengan Mengurangkan Senibina Elizaos V2 Baru? Mar 04, 2025 pm 07:00 PM

ELIZAOSV2: Memperkasakan AI dan memimpin ekonomi baru Web3. Artikel ini akan menyelam ke dalam inovasi utama ElizaOSv2 dan bagaimana ia membentuk ekonomi masa depan yang didorong oleh AI. AIT Automasi: Pergi secara bebas mengendalikan Elizaos pada asalnya merupakan rangka kerja AI yang memberi tumpuan kepada automasi Web3. Versi V1 membolehkan AI berinteraksi dengan kontrak pintar dan data blockchain, manakala versi V2 mencapai peningkatan prestasi yang signifikan. Daripada hanya melaksanakan arahan mudah, AI secara bebas dapat menguruskan aliran kerja, mengendalikan perniagaan dan membangunkan strategi kewangan. Peningkatan Seni Bina: Ditingkatkan a

Melampaui SFT, rahsia di belakang O1/DeepSeek-R1 juga boleh digunakan dalam model besar multimodal Melampaui SFT, rahsia di belakang O1/DeepSeek-R1 juga boleh digunakan dalam model besar multimodal Mar 12, 2025 pm 01:03 PM

Penyelidik dari Universiti Shanghai Jiaoto, Shanghai Ailab dan Universiti Cina Hong Kong telah melancarkan projek sumber terbuka Visual-RFT (Visual Fine Fine Tuning), yang hanya memerlukan sedikit data untuk meningkatkan prestasi model bahasa besar visual (LVLM). Visual-RFT bijak menggabungkan pendekatan pembelajaran tetulang berasaskan peraturan DeepSeek-R1 dengan paradigma penalaan Fine-Penalaan Terbuka (RFT) OpenAI, berjaya memperluaskan pendekatan ini dari medan teks ke medan visual. Dengan merancang ganjaran peraturan yang sepadan untuk tugas-tugas seperti subkategori visual dan pengesanan objek, Visual-RFT mengatasi batasan kaedah DeepSeek-R1 yang terhad kepada teks, penalaran matematik dan bidang lain, menyediakan cara baru untuk latihan LVLM. Vis

Bitwise: perniagaan membeli bitcoin trend besar yang diabaikan Bitwise: perniagaan membeli bitcoin trend besar yang diabaikan Mar 05, 2025 pm 02:42 PM

Pemerhatian Mingguan: Perniagaan Menimbulkan Bitcoin - Perubahan Brewing Saya sering menunjukkan beberapa trend pasaran yang diabaikan dalam memo mingguan. Langkah MicroStrategy adalah contoh yang jelas. Ramai orang mungkin berkata, "MicroStrategy dan Michaelsaylor sudah terkenal, apa yang akan anda perhatikan?" Pandangan ini adalah satu sisi. Penyelidikan mendalam mengenai penggunaan Bitcoin sebagai aset rizab dalam beberapa bulan kebelakangan ini menunjukkan bahawa ini bukan kes terpencil, tetapi trend utama yang muncul. Saya meramalkan bahawa dalam 12-18 bulan akan datang, beratus-ratus syarikat akan mengikutinya dan membeli jumlah besar bitcoin

See all articles