Bagaimana saya bisa mereset repositori Git jarak jauh dan lokal untuk menghapus semua komit?
Saya ingin memulai dengan Kepala saat ini sebagai komit awal.
Bagaimana saya bisa mereset repositori Git jarak jauh dan lokal untuk menghapus semua komit?
Saya ingin memulai dengan Kepala saat ini sebagai komit awal.
Jawaban:
Setel ulang sepenuhnya?
Hapus .gitdirektori secara lokal.
Buat repostory git:
$ cd (project-directory)
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'
Dorong ke server jauh, timpa. Ingat Anda akan mengacaukan orang lain melakukan ini ... Anda lebih baik menjadi satu-satunya klien.
$ git remote add origin <url>
$ git push --force --set-upstream origin master
--allow-emptyflag di akhir git commit -m 'Initial commit'.
git push --force --set-upstream origin masterTapi semua yang lain berfungsi seperti yang dijelaskan
Pertama, ikuti instruksi dalam pertanyaan ini untuk menekan semuanya menjadi satu komit. Kemudian dorong paksa ke remote:
$ git push origin +master
Dan secara opsional hapus semua cabang lain baik lokal maupun jarak jauh:
$ git push origin :<branch>
$ git branch -d <branch>
Kalau saya, saya akan melakukan sesuatu seperti ini:
Sebelum melakukan apa pun tolong simpan salinannya (lebih baik aman daripada menyesal)
git checkout master
git checkout -b temp
git reset --hard <sha-1 of your first commit>
git add .
git commit -m 'Squash all commits in single one'
git push origin temp
Setelah melakukan itu, Anda dapat menghapus cabang lain.
Hasil: Anda akan memiliki cabang dengan hanya 2 komit.
Gunakan
git log --onelineuntuk melihat komit Anda dengan cara yang minimalis dan untuk menemukan SHA-1 untuk komit!