Rumah alat pembangunan git Bagaimana untuk mengubah suai sejarah dalam git

Bagaimana untuk mengubah suai sejarah dalam git

Jan 14, 2022 pm 02:19 PM
git

Kaedah: 1. Gunakan perintah "git commit --amend" untuk mengubah suai satu rekod sejarah 2. Gunakan arahan "git rebase -i specify commit number" untuk mengubah suai berbilang rekod sejarah; git filter- Julat yang diubah suai oleh perintah cawangan --filer" menulis semula sejarah.

Bagaimana untuk mengubah suai sejarah dalam git

Persekitaran pengendalian artikel ini: sistem Windows 10, Git versi 2.30.0, komputer Dell G3.

Cara mengubah suai sejarah git

Pinda git pemain junior

Jika anda hanya menyerahkan Kemudian saya mendapati bahawa saya cacat, jadi saya menggunakan git commit --amend untuk mengubah suai komit sebelumnya. Selepas arahan ini dilaksanakan, ia akan mengalih keluar komit terakhir daripada cawangan semasa, memulihkan ruang kerja kepada keadaan tempat ia terakhir disediakan untuk penyerahan (semasa mencampurkan perubahan selepas komit terakhir), dan kemudian memaparkan antara muka vim untuk You go dan ubah suai maklumat komit terakhir. Selepas menyimpan dalam vim, semua pengubahsuaian semasa akan diserahkan dengan maklumat penyerahan baharu.

Arahan ini hanya boleh mengubah suai komit terakhir Satu arahan adalah bersamaan dengan melaksanakan siri tindakan berikut:

    $ORIG_HEAD=`git show`#保存当前的这次提交的 commit 号
    $git reset --soft HEAD^#回到最后一次提交准备提交前的状态
    $...#做一些操作和修改
    $git commit -c $ORIG_HEAD#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
Salin selepas log masuk

Pemain perantaraan git rebase

Git commit sebelumnya --amend hanya boleh mengubah suai komit terakhir, tetapi apabila kita berada dalam kemahuan dan cacat sepanjang jalan, arahan ini tidak dapat menyelamatkan kita Pada masa ini, kita perlu menggunakan alat pembunuh git rebase -i Datang dan bantu kami menyemak semula peristiwa lalu yang menyakitkan itu.

Sebenarnya, git rebase -i bukanlah arahan yang khusus digunakan untuk mengubah suai rekod sejarah, tetapi arahan yang membolehkan kami melakukan operasi rebase secara interaktif (iaitu, satu demi satu), tetapi kami boleh menggunakan Perintah ini ialah digunakan untuk mengubah suai sejarah komit.

Kaedah menggunakan arahan ini ialah git rebase -i Contohnya, anda boleh menggunakan git rebase -i HEAD~3 untuk mengubah suai penyerahan ini, penyerahan terakhir dan yang sebelumnya. penyerahan sebanyak tiga kali.

Bagaimana untuk mengubah suai sejarah dalam git

Seperti yang ditunjukkan dalam gambar, jika saya menyerahkan tiga perubahan ini dan memasukkan git rebase -i HEAD~3, antara muka berikut akan muncul:

Bagaimana untuk mengubah suai sejarah dalam git

Ini ialah antara muka editor vim ini. Arahan yang boleh digunakan ialah enam arahan dalam ulasan di bawah. Selepas keluar dari halaman di mana anda sedang mengeditnya, git akan melakukan operasi yang sepadan pada penyerahan satu demi satu mengikut skrip ini (bermula dari penyerahan terawal).

Jika anda hanya mahu mengubah suai maklumat komit, tukar semua pilih kepada r, kemudian:wq save, dan kemudian git akan membenarkan anda mengubah suainya satu demi satu bermula dari maklumat komit yang terawal.

Antara perintah yang tinggal, e akan muncul editor vim apabila mengubah suai penyerahan yang sepadan Pada masa ini, penuding HEAD pada penyerahan ini, anda boleh menggunakan git commit --amend untuk membuat pelbagai pengubahsuaian pada penyerahan ini , dan kemudian laksanakan git rebase --teruskan untuk meneruskan operasi seterusnya s akan menggabungkan penyerahan ini dan penyerahan induknya ke dalam satu penyerahan apabila mengubah suai penyerahan yang sepadan dengan s tetapi akan mengabaikan penyerahan semasa . Maklumat, terus menggunakan maklumat yang diserahkan oleh ibu bapa x memerlukan memasukkan arahan selepas x dan kemudian melaksanakannya apabila HEAD menunjuk kepada penyerahan ini. Arahan ini juga boleh digunakan untuk menyusun semula penyerahan dan memisahkan penyerahan.

Cawangan penapis git pembunuh muktamad

Andaikan selepas kami menyerahkan N kali, tiba-tiba kami mendapati bahawa alamat e-mel yang kami serahkan semuanya salah (°°□° )​​︵ ┻━┻, jika anda menggunakan arahan yang dinyatakan sebelum ini pada masa ini, anda mungkin akan keletihan sebelum perubahan selesai Pada masa ini, kita boleh menggunakan git filter-branch untuk menulis semula cawangan, yang boleh membatch setiap cawangan . Serahkan dan laksanakan operasi pratetap kami

Format penggunaan asas yang digunakan oleh perintah git filter-branch -- , penapis yang berbeza akan memberikan input dan output yang berbeza kepada perintah Contohnya, --msg-filter bermaksud mengubah suai maklumat penyerahan, maklumat penyerahan asal dibaca daripada input standard, dan maklumat penyerahan baharu adalah output kepada output standard -filter bermaksud mengubah suai senarai fail, dsb. dsb. Akhirnya, akan ada skop penulisan semula Sebagai contoh, git filter-branch --env-filter 'GIT_AUTHOR_EMAIL=john@example.com export GIT_AUTHOR_EMAIL' HEAD boleh digunakan untuk menulis semula. peti mel. Cuba satu cawangan dan kemudian lakukan operasi pada cawangan yang anda ingin ubah suai

Kajian yang disyorkan: "Tutorial Git"

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai sejarah dalam git. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
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)

Perpustakaan apa yang digunakan untuk operasi nombor terapung di GO? Perpustakaan apa yang digunakan untuk operasi nombor terapung di GO? Apr 02, 2025 pm 02:06 PM

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Cara Menjalankan Projek H5 Cara Menjalankan Projek H5 Apr 06, 2025 pm 12:21 PM

Menjalankan projek H5 memerlukan langkah -langkah berikut: memasang alat yang diperlukan seperti pelayan web, node.js, alat pembangunan, dan lain -lain. Membina persekitaran pembangunan, membuat folder projek, memulakan projek, dan menulis kod. Mulakan pelayan pembangunan dan jalankan arahan menggunakan baris arahan. Pratonton projek dalam penyemak imbas anda dan masukkan URL Server Pembangunan. Menerbitkan projek, mengoptimumkan kod, menggunakan projek, dan menyediakan konfigurasi pelayan web.

GITEE PAGES PENYEDIAAN LAMAN WEB STATIC Gagal: Bagaimana menyelesaikan masalah dan menyelesaikan kesilapan fail tunggal 404? GITEE PAGES PENYEDIAAN LAMAN WEB STATIC Gagal: Bagaimana menyelesaikan masalah dan menyelesaikan kesilapan fail tunggal 404? Apr 04, 2025 pm 11:54 PM

Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

Bagaimana cara menentukan pangkalan data yang berkaitan dengan model dalam beego orm? Bagaimana cara menentukan pangkalan data yang berkaitan dengan model dalam beego orm? Apr 02, 2025 pm 03:54 PM

Di bawah rangka kerja beegoorm, bagaimana untuk menentukan pangkalan data yang berkaitan dengan model? Banyak projek beego memerlukan pelbagai pangkalan data untuk dikendalikan secara serentak. Semasa menggunakan beego ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau disediakan oleh projek sumber terbuka yang terkenal? Perpustakaan mana yang dibangunkan oleh syarikat besar atau disediakan oleh projek sumber terbuka yang terkenal? Apr 02, 2025 pm 04:12 PM

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Bagaimana menyelesaikan masalah penukaran jenis user_id semasa menggunakan aliran redis untuk melaksanakan beratur mesej dalam bahasa Go? Apr 02, 2025 pm 04:54 PM

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

Adakah pengeluaran halaman H5 memerlukan penyelenggaraan berterusan? Adakah pengeluaran halaman H5 memerlukan penyelenggaraan berterusan? Apr 05, 2025 pm 11:27 PM

Halaman H5 perlu dikekalkan secara berterusan, kerana faktor -faktor seperti kelemahan kod, keserasian pelayar, pengoptimuman prestasi, kemas kini keselamatan dan peningkatan pengalaman pengguna. Kaedah penyelenggaraan yang berkesan termasuk mewujudkan sistem ujian lengkap, menggunakan alat kawalan versi, kerap memantau prestasi halaman, mengumpul maklum balas pengguna dan merumuskan pelan penyelenggaraan.

Apabila menggunakan sql.open, mengapa tidak melaporkan ralat apabila DSN berlalu kosong? Apabila menggunakan sql.open, mengapa tidak melaporkan ralat apabila DSN berlalu kosong? Apr 02, 2025 pm 12:54 PM

Apabila menggunakan SQL.Open, mengapa DSN tidak melaporkan ralat? Dalam bahasa Go, sql.open ...

See all articles