Rumah > Soal Jawab > teks badan
刚上传了vs项目到github,但是忘记搞gitignore文件,导致项目上传的体积太大,
现在不知道怎么办了?
删除里面所有文件,写好gitignore文件后重新commit然后push?
大家讲道理2017-04-22 09:01:48
git rm -r --cache . git add . git commit -m "gitignore working"
Kali pertama saya menghantar soalan, sistem sudah lama tidak menyemaknya, jadi saya mencarinya. Sebenarnya saya menemui jawapan daripada stackoverflow malam tadi. Tetapi terima kasih semua. http://stackoverflow.com/questions/1139762/gitignore-file-not-ignoring
阿神2017-04-22 09:01:48
Sila masukkan penerangan pautan
Terdapat juga pilihan untuk menulis semula sejarah jika anda ingin mengubah suai skrip sejumlah besar komit - contohnya, untuk menukar alamat e-mel secara global atau mengalih keluar fail daripada semua komit. Perintah ini adalah cawangan penapis, dan ia akan mengubah suai sejarah anda secara meluas, jadi anda mungkin tidak boleh menggunakannya melainkan projek anda belum lagi terbuka dan tiada orang lain yang sedang mengusahakan komit yang anda ingin ubah suai. Namun, yang ini boleh menjadi sangat berguna. Anda akan mempelajari beberapa kegunaan biasa untuk mendapatkan idea tentang keupayaannya.
Alih keluar fail daripada semua komit Ini sering berlaku. Sesetengah orang menggunakan git add . Mungkin anda secara tidak sengaja membuat fail yang mengandungi kata laluan dan anda ingin menjadikan projek anda sumber terbuka. cawangan penapis mungkin akan menjadi alat yang anda gunakan untuk membersihkan keseluruhan sejarah anda. Untuk mengalih keluar fail bernama password.txt daripada keseluruhan sejarah, anda boleh menggunakan pilihan --tree-filter pada cawangan-penapis:
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD Tulis semula 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21) Rujukan 'refs/heads/master' telah ditulis semula Pilihan --tree-filter akan melaksanakan arahan yang ditentukan dan kemudian menyerahkan semula keputusan setiap kali projek itu diperiksa. Dalam contoh ini, anda akan memadamkan fail bernama password.txt daripada semua syot kilat, tidak kira sama ada ia wujud. Jika anda ingin memadam semua fail sandaran editor yang dilakukan secara tidak sengaja, anda boleh menjalankan arahan seperti git filter-branch --tree-filter 'rm -f *~' HEAD.
Anda boleh menonton Git menulis semula pepohon direktori dan komit, kemudian gerakkan penuding cawangan ke penghujung. Pendekatan yang lebih baik ialah melakukan ini pada cawangan ujian dan kemudian tetapkan semula cawangan induk anda selepas anda pasti produk itu benar-benar seperti yang anda mahukan. Untuk menjalankan penapis-cawangan pada semua cawangan anda, anda boleh menghantar --semua kepada arahan.
Tetapkan subdirektori sebagai direktori akar baharu Katakan anda telah melengkapkan import daripada sistem kawalan kod lain dan mempunyai beberapa subdirektori yang tidak bermakna (trunk, tag, dll.). Jika anda mahu subdirektori batang menjadi direktori akar projek baharu untuk setiap penyerahan, cawangan penapis juga boleh membantu anda melakukannya:
$ git penapis-cawangan --subdirektori-penapis batang HEAD Tulis semula 856f0bf61e41a27326cdae8f09fe708d679f596f (12/12) Rujukan 'refs/heads/master' telah ditulis semula Sekarang direktori akar projek anda ialah subdirektori batang. Git secara automatik akan memadamkan komit yang tidak menjejaskan subdirektori ini.
阿神2017-04-22 09:01:48
Sediakan penyelesaian yang agak baru: Masukkan projek-->Tetapan-->Padamkan Repositori ini dan kemudian buat repo baharu dan anda selesai
阿神2017-04-22 09:01:48
Anda perlu menggunakan
git reset
Untuk butiran, anda boleh melihat operasi buat asal Git - tetapkan semula, daftar keluar dan buat asal: http://www.liuhui998.com/4_9.html
Andaikata anda ingin membatalkan semua perubahan dan kembali kepada komit terkini Perintahnya adalah seperti berikut:
$ git reset --hard HEAD
天蓬老师2017-04-22 09:01:48
Halaman utama projek——>Tetapan——>Padamkan Repositori ini——>Serah Semula Okey, saya juga tidak pandai menggunakannya
天蓬老师2017-04-22 09:01:48
Sandarkan dahulu atau komit dahulu (pengajaran berdarah)
git reset --hard
YOUR HEAD
Cara untuk menanyakan ketua rekod yang diserahkan
git reflog ||. git log