GIT menyediakan pelbagai cara untuk memadam fail dalam komitmen, termasuk: mengubahsuai fail ruang kerja secara langsung dan menyerahkan semula (tidak disyorkan, meninggalkan jejak pengubahsuaian) menggunakan cabang penapis git (menulis semula sejarah, gunakan dengan berhati -hati) menggunakan git kembali (membuat komitmen baru untuk membatalkan komitmen yang digunakan. mencegah fail yang tidak perlu daripada dilakukan.
Bagaimana untuk memadam fail secara elegan?
Pernahkah anda mendapati bahawa fail yang tidak boleh wujud di perpustakaan kod selepas melakukan? Atau adakah anda telah mengemukakan maklumat sensitif? Jangan panik, GIT menyediakan pelbagai cara untuk menyelesaikan masalah ini, tetapi kaedah yang harus dipilih bergantung pada kesan yang anda ingin capai dan kepentingan yang anda lampirkan kepada sejarah. Ia bukan idea yang baik untuk menulis semula sejarah semata -mata dan secara kasar, dan melainkan jika anda tahu dengan baik apa yang anda lakukan, ia boleh membawa kepada kekeliruan kerja berpasukan.
Mari kita bincangkan tentang yang paling langsung, tetapi biasanya bukan penyelesaian terbaik: secara langsung mengubah suai fail ruang kerja dan kemudian serahkan semula. Ia mudah dan kasar, tetapi ia meninggalkan jejak pengubahsuaian, dan jika ramai orang bekerja bersama, itu adalah bencana.
Mari kita menyelam beberapa pendekatan yang lebih halus yang, seperti prosedur pembedahan, dengan tepat mengeluarkan fail yang tidak diingini dan meminimumkan kesan ke atas sejarah.
Memahami kuasa git filter-branch
(gunakan dengan berhati-hati!)
git filter-branch
adalah alat yang paling berkuasa dalam Git untuk menulis semula sejarah, yang membolehkan anda mengubah suai apa-apa dalam komit sejarah, termasuk memadam fail. Tetapi ingat, ini akan menulis semula sejarah git anda , dan jika anda telah menolak kod anda ke repositori jauh, ia boleh menyebabkan masalah besar bagi pasukan anda. Kecuali anda sangat pasti dan mempunyai sandaran, jangan cuba dengan mudah.
Sebagai contoh, katakan anda ingin memadam fail bernama secret.txt
dari semua komitmen:
<code class="bash">git filter-branch --index-filter 'git rm --cached --ignore-unmatch secret.txt' --prune-empty --tag-name-filter cat -- --all</code>
Barisan arahan ini akan melangkah melalui semua komitmen, padam secret.txt
, kemudian jelaskan kosong, dan akhirnya mengemas kini tag. --ignore-unmatch
mengelakkan kesilapan kerana fail tidak wujud. Tetapi ini akan mewujudkan sejarah baru dan repositori tempatan anda akan menjadi cawangan baru yang baru. Anda perlu memaksa push ( git push --force
) ke repositori jauh, yang akan meliputi sejarah repositori jauh, jadi sekali lagi, gunakannya dengan berhati -hati !
Cara yang lebih selamat: git revert
dan git rebase -i
Berbanding dengan sejarah menulis secara langsung, kedua -dua kaedah ini lebih selamat dan lebih sesuai untuk kerja berpasukan.
git revert
mewujudkan komit baru untuk membatalkan komit sebelumnya, yang tidak mengubah sejarah sebelumnya. Sekiranya anda ingin memadam fail yang ditambahkan dalam komit, anda boleh terlebih dahulu git revert <commit-hash></commit-hash>
membatalkannya, dan kemudian serahkan semula kod tersebut seperti yang diperlukan. Kali ini ingat untuk mengecualikan fail yang tidak boleh dikemukakan. Kaedah ini bersih dan kemas dan tidak akan merosakkan sejarah.
git rebase -i
membolehkan anda mengubahsuai secara interaktif sejarah komit. Anda boleh menggunakannya untuk memadam komit, atau mengubah suai maklumat komit. Ini juga akan mengubah sejarah, jadi anda perlu berhati -hati dan yang terbaik adalah untuk beroperasi di cawangan tempatan untuk mengelakkan mempengaruhi orang lain. Selepas memasukkan mod Rebase interaktif, anda boleh menukar pick
sebelum garis komited fail yang anda mahu padamkan edit
, kemudian ubah suai ruang kerja, padamkan fail, kemudian git add .
dan git commit --amend
untuk mengemukakan pengubahsuaian, dan akhirnya git rebase --continue
untuk meneruskan proses rebase. Ini lebih halus daripada git filter-branch
, tetapi ia masih memerlukan operasi yang teliti.
Amalan Terbaik: Kepentingan .gitignore
Cara terbaik untuk mengelakkan masalah adalah untuk mencegahnya. Buat fail .gitignore
pada permulaan projek, menyenaraikan semua fail yang tidak boleh dikesan, seperti fail sementara, fail perantaraan yang disusun, maklumat sensitif, dan lain -lain. Ini akan menjimatkan anda daripada mengemukakan dokumen yang tidak perlu dari awal, menjimatkan banyak masalah.
Akhirnya, ingat bahawa kuasa Git juga bermakna ia mempunyai kuasa untuk merosakkan kerja anda. Sebelum melakukan apa -apa pengubahsuaian sejarah, pastikan anda menyandarkan repositori anda dan memahami sepenuhnya arahan yang anda gunakan. Pilih kaedah yang sesuai dengan senario anda untuk mengelakkan kerumitan yang tidak perlu. Hanya dengan menguasai pelbagai arahan Git, anda boleh selesa dalam dunia kawalan versi.
Atas ialah kandungan terperinci Cara memadam fail komit dalam git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Peranan dan fungsi Git dan GitHub dalam pembangunan perisian adalah untuk menguruskan kod dan pembangunan kolaboratif. Git dengan cekap menguruskan versi kod melalui fungsi komit, cawangan dan menggabungkan, sementara GitHub menyediakan kod hosting dan alat kerjasama seperti Pullrequest dan isu untuk meningkatkan kecekapan kerjasama pasukan.

GitHub adalah platform pilihan untuk pemaju untuk menemui, berkongsi dan menyumbang kod. 1) Cari pangkalan kod tertentu melalui fungsi carian, seperti projek Python. 2) Buat repositori dan tolak kod untuk berkongsi dengan pemaju di seluruh dunia. 3) Mengambil bahagian dalam projek sumber terbuka dan menyumbang kod melalui Fork dan PullRequest.

Git adalah sistem kawalan versi, dan GitHub adalah platform dalam talian berdasarkan Git. Langkah -langkah untuk menggunakan Git dan GitHub untuk Pengurusan Kod dan Kerjasama Pasukan termasuk: 1. Inisialisasi Repositori Git: Gitinit. 2. Tambah fail ke kawasan penyimpanan sementara: Gitadd. 3. Hantar perubahan: GitCommit-M "InitialCommit". 4. Berkaitan dengan repositori GitHub: gitremoteaddoriginhttps: //github.com/username/repository.git. 5. Kod Tolak ke GitHub: Gitpush-UoriginMaste

GitHub mempunyai kesan yang meluas terhadap pembangunan perisian dan kerjasama: 1. Ia berdasarkan sistem kawalan versi GIT yang diedarkan, yang meningkatkan keselamatan kod dan fleksibiliti pembangunan; 2. Melalui fungsi seperti Pullrequest, ia meningkatkan kecekapan kerjasama pasukan dan perkongsian pengetahuan; 3. Alat seperti githubactions membantu mengoptimumkan proses pembangunan dan meningkatkan kualiti kod.

Kaedah perkongsian, menguruskan dan menyumbang kod pada GitHub termasuk: 1. Buat kod repositori dan tolak, dan tulis fail ReadMe dan lesen; 2. Gunakan cawangan, tag dan gabungan permintaan untuk menguruskan kod; 3. Melalui langkah -langkah ini, pemaju boleh menggunakan GitHub dengan berkesan untuk meningkatkan kecekapan pembangunan dan keupayaan kerjasama.

GIT adalah sistem kawalan versi yang diedarkan, dan GitHub adalah platform kerjasama berasaskan GIT. GIT digunakan untuk kawalan versi dan pengurusan kod, manakala GitHub menyediakan ciri kerjasama tambahan seperti kajian kod dan pengurusan projek.

Git adalah sistem kawalan versi yang diedarkan, dan GitHub adalah platform dalam talian berdasarkan Git. GIT digunakan untuk kawalan versi, pengurusan cawangan dan penggabungan, dan GitHub menyediakan hosting kod, alat kerjasama dan keupayaan rangkaian sosial.

Git adalah sistem kawalan versi back-end, dan GitHub adalah platform kerjasama front-end berdasarkan Git. Git menguruskan versi kod, GitHub menyediakan antara muka pengguna dan alat kerjasama, dan kedua -dua bekerja bersama untuk meningkatkan kecekapan pembangunan.


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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver CS6
Alat pembangunan web visual

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

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa
