Artikel ini memberi anda pengetahuan tentang menjaga kebersihan Git rekod komit, termasuk "git commit –amend", "git rebase -i" dan "rebase" Soalan, harap ia membantu semua orang.
Pembelajaran yang disyorkan: "Tutorial Git"
Semua orang telah mempelajari cara menulis kod dalam standard dan ringkas cara , tetapi jarang belajar cara menyeragamkan dan ringkas serahkan kod. Pada masa kini, semua orang pada asasnya menggunakan Git sebagai alat pengurusan kod sumber Git memberikan fleksibiliti yang hebat. masalah biasa ialah sejarah log git yang tidak kemas, yang benar-benar pembalut kaki wanita tua, berbau dan panjang saya secara peribadi tidak suka log jenis ini
Punca masalah ini. sedang menghantar kod sesuka hati.
Kod telah diserahkan, adakah terdapat cara untuk menyimpannya? Tiga petua boleh menyelesaikan masalah dengan sempurna
Gunakan git commit –amend
Dokumen bantuan arahan ini diterangkan seperti ini:
Dalam erti kata lain , ia boleh membantu kami mengubah suai--amend amend previous commitkomit terakhir
Ia boleh mengubah suai bukan sahaja mesej yang kami serahkan, tetapi juga fail yang kami serahkan, dan akhirnya menggantikan id-komit terakhir
.Kami mungkin terlepas fail tertentu semasa penyerahan tertentu Apabila kami menyerahkan semula, mungkin terdapat komit-id yang tidak berguna Jika semua orang melakukan ini, log git akan menjadi terlalu kemas untuk menjejaki fungsi yang lengkap
Andaikata kita mempunyai mesej log sedemikianAndaikan kita ingin mengubah suai mesej log terakhir, kita boleh menggunakan arahan berikut:
* 98a75af (HEAD -> feature/JIRA123-amend-test) feat: [JIRA123] add feature 1.2 * 119f86e feat: [JIRA123] add feature 1.1 * 5dd0ad3 feat: [JIRA123] add feature 1 * c69f53d (origin/main, origin/feature/JIRA123-amend-test, origin/HEAD, main) Initial commit
Mari kita lihat Looking pada maklumat log, kami dapati kami telah menggantikan commit-id lama 98a75af dengan commit-id baharu 5e354d1, mengubah suai mesej dan tidak menambah nod
git commit --amend -m "feat: [JIRA123] add feature 1.2 and 1.3"
Kini fail dalam repo kami kelihatan seperti ini :
* 5e354d1 (HEAD -> feature/JIRA123-amend-test) feat: [JIRA123] add feature 1.2 and 1.3 * 119f86e feat: [JIRA123] add feature 1.1 * 5dd0ad3 feat: [JIRA123] add feature 1 * c69f53d (origin/main, origin/feature/JIRA123-amend-test, origin/HEAD, main) Initial commit
Andaikan kita terlupa fail konfigurasi config.yaml semasa menghantar ciri 1.3, dan tidak mahu mengubah suai log atau menambah id komit baharu, maka arahan berikut adalah sangat mudah untuk gunakan
. ├── README.md └── feat1.txt 0 directories, 2 files
git commit --amend --no-edit is the soul Lihat fail repo semasa:
echo "feature 1.3 config info" > config.yaml git add . git commit --amend --no-edit
Lihat log git
.. ├── README.md ├── config.yaml └── feat1.txt 0 directories, 3 files
Mengetahui teknik ini, kami dapat memastikan setiap penyerahan yang kami buat mengandungi maklumat yang sah. Gambar yang menerangkan proses kelihatan seperti ini:
* 247572e (HEAD -> feature/JIRA123-amend-test) feat: [JIRA123] add feature 1.2 and 1.3 * 119f86e feat: [JIRA123] add feature 1.1 * 5dd0ad3 feat: [JIRA123] add feature 1 * c69f53d (origin/main, origin/feature/JIRA123-amend-test, origin/HEAD, main) Initial commit
Dengan bonus buff --no-edit, ia lebih berkuasa
digunakan 🎜>
di mana n mewakili beberapa penyerahan terakhir Kami mempunyai tiga penyerahan untuk ciri 1 di atas, jadi kami boleh menggunakan:git rebase -i HEAD~nSelepas dijalankan, editor vim akan dipaparkan dengan kandungan berikut:
git rebase -i HEAD~3Kaedah yang paling biasa digunakan untuk menggabungkan commit-id ialah skuasy dan fixup Yang pertama mengandungi mesej commit dan yang kedua tidak menggunakan fixup di sini, dan kemudian :wq untuk keluar
1 pick 5dd0ad3 feat: [JIRA123] add feature 1 2 pick 119f86e feat: [JIRA123] add feature 1.1 3 pick 247572e feat: [JIRA123] add feature 1.2 and 1.3 4 5 # Rebase c69f53d..247572e onto c69f53d (3 commands) 6 # 7 # Commands: 8 # p, pick <commit> = use commit 9 # r, reword <commit> = use commit, but edit the commit message 10 # e, edit <commit> = use commit, but stop for amending 11 # s, squash <commit> = use commit, but meld into previous commit 12 # f, fixup <commit> = like "squash", but discard this commit's log message 13 # x, exec <command> = run command (the rest of the line) using shell 14 # d, drop <commit> = remove commit 15 # l, label <label> = label current HEAD with a name 16 # t, reset <label> = reset HEAD to a label 17 # m, merge [-C <commit> | -c <commit>] <label> [# <oneline>] 18 # . create a merge commit using the original merge commit's 19 # . message (or the oneline, if no original merge commit was 20 # . specified). Use -c <commit> to reword the commit message. 21 # 22 # These lines can be re-ordered; they are executed from top to bottom. 23 # 24 # If you remove a line here THAT COMMIT WILL BE LOST. 25 # 26 # However, if you remove everything, the rebase will be aborted. 27 # 28 # 29 # Note that empty commits are commented out</commit></oneline></label></commit></commit></label></label></commit></command></commit></commit></commit></commit></commit>Mari kita kembali Lihat log, ia sangat jelas
1 pick 5dd0ad3 feat: [JIRA123] add feature 1 2 fixup 119f86e feat: [JIRA123] add feature 1.1 3 fixup 247572e feat: [JIRA123] add feature 1.2 and 1.3Gunakan rebase dengan baikCiri di atas telah dibangunkan sepenuhnya, dan cawangan utama juga telah dikemas kini oleh orang lain Kemudian gabungkan kembali ciri Sebelum cawangan utama, untuk mengelakkan konflik kod, anda perlu menggabungkan kandungan cawangan utama ke dalam ciri terlebih dahulu. Jika anda menggunakan arahan gabungan, akan ada gabungan tambahan nod, dan juga akan terdapat titik infleksi dalam sejarah log, yang bukan linear, jadi di sini Kita boleh menggunakan arahan rebase pada cawangan ciri
* 41cd711 (HEAD -> feature/JIRA123-amend-test) feat: [JIRA123] add feature 1 * c69f53d (origin/main, origin/feature/JIRA123-amend-test, origin/HEAD, main) Initial commit
git pull origin main --rebasePerintah tarik secara automatik melakukan penggabungan untuk kami, tetapi di sini ia adalah dalam bentuk rebase Mari kita lihat log
* d40daa6 (HEAD -> feature/JIRA123-amend-test) feat: [JIRA123] add feature 1 * 446f463 (origin/main, origin/HEAD) Create main.properties * c69f53d (origin/feature/JIRA123-amend-test, main) Initial commit
Saya menggunakan git pull origin main --rebase di sini untuk menghilangkan proses menukar utama dan menarik kandungan terkini dan kemudian menukar kembali Prinsip di belakangnya adalah seperti yang ditunjukkan dalam gambar di atas
Menggunakan rebase adalah Terdapat peraturan emas yang mesti dipatuhi Ini telah dikatakan sebelum ini, jadi saya tidak akan mengulanginya lagi
Ringkasan
Dengan tiga petua ini, saya. percaya log git semua orang akan menjadi sangat jelas Jika anda belum mengetahuinya, anda pasti boleh menggunakannya Jika ahli kumpulan anda tidak mengetahuinya, anda pasti boleh mempromosikannya
Pembelajaran yang disyorkan: "Tutorial Git》
Atas ialah kandungan terperinci 3 langkah untuk menyelesaikannya! Simpan rekod komit Git yang bersih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

GitHub adalah alat yang berkuasa untuk meningkatkan kecekapan dan kualiti pembangunan perisian. 1) Kawalan versi: Menguruskan perubahan kod melalui Git. 2) PullRequests: Melakukan semakan kod dan meningkatkan kualiti kod. 3) Isu: Bug trek dan kemajuan projek. 4) GitHubactions: Automatikkan proses pembinaan, ujian dan penempatan.

Git adalah sistem kawalan versi, dan GitHub adalah platform hosting kod berasaskan Git. Git digunakan untuk menguruskan versi kod dan menyokong operasi tempatan; Github menyediakan alat kerjasama dalam talian seperti Penjejakan Isu dan PullRequest.

GIT adalah sistem kawalan versi yang diedarkan sumber terbuka yang membantu pemaju menjejaki perubahan fail, bekerjasama dan menguruskan versi kod. Fungsi terasnya termasuk: 1) pengubahsuaian kod rekod, 2) sandaran kepada versi terdahulu, 3) pembangunan kerjasama, dan 4) membuat dan menguruskan cawangan untuk pembangunan selari.

Git dan GitHub bukan perkara yang sama. Git adalah sistem kawalan versi, dan GitHub adalah platform hosting kod berasaskan Git. Git digunakan untuk menguruskan versi kod, dan GitHub menyediakan persekitaran kerjasama dalam talian.

Alasan untuk menggunakan GitHub untuk menguruskan projek HTML ialah ia menyediakan platform untuk kawalan versi, pembangunan kerjasama dan pembentangan kerja. Langkah -langkah khusus termasuk: 1. Di samping itu, GitHub juga menyokong kajian semula kod, isu dan ciri PullRequest untuk membantu mengoptimumkan dan bekerjasama dalam projek HTML.

Bermula dari Git lebih sesuai untuk pemahaman yang mendalam tentang prinsip kawalan versi, dan bermula dari GitHub lebih sesuai untuk memberi tumpuan kepada kerjasama dan hosting kod. 1.GIT adalah sistem kawalan versi yang diedarkan yang membantu menguruskan sejarah versi kod. 2. GitHub adalah platform dalam talian berdasarkan Git, menyediakan keupayaan hosting dan keupayaan kolaborasi.

Microsoft tidak memiliki Git, tetapi memiliki GitHub. 1.GIT adalah sistem kawalan versi yang diedarkan oleh Linus Torvaz pada tahun 2005. 2. GitHub adalah platform hosting kod dalam talian berdasarkan Git. Ia ditubuhkan pada tahun 2008 dan diperoleh oleh Microsoft pada tahun 2018.

Pada resume anda, anda harus memilih untuk menulis git atau github berdasarkan keperluan kedudukan anda dan pengalaman peribadi. 1. Jika kedudukan memerlukan kemahiran git, sorot git. 2. Jika kedudukan nilai penyertaan komuniti, tunjukkan GitHub. 3. Pastikan untuk menerangkan pengalaman penggunaan dan kes -kes projek secara terperinci dan berakhir dengan ayat lengkap.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft