Terdapat terlalu banyak perubahan yang tidak boleh diserahkan kepada github. Bagaimanakah cara saya mengosongkan rekod perubahan sejarah?
某草草
某草草 2017-05-02 09:31:58
0
2
649

Seperti yang dinyatakan, saya tidak menolak ke github selama setengah tahun Memandangkan terdapat beberapa balang di dalamnya yang tidak diabaikan, semakin banyak selepas menolak, ia akan melaporkan:

Counting objects: 4779, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3903/3903), done.
error: RPC failed; result=56, HTTP code = 200 | 14.92 MiB/s
fatal: The remote end hung up unexpectedlyMiB | 158.00 KiB/s
Writing objects: 100% (4779/4779), 628.84 MiB | 152.00 KiB/s, done.
Total 4779 (delta 2353), reused 3 (delta 0)
fatal: The remote end hung up unexpectedly
Everything up-to-date

Saya mencari beberapa kaedah, seperti menukar kepada ssh, dsb., tetapi tiada satu pun daripada mereka yang berjaya. Adakah terdapat cara mudah untuk membuang sejarah dan hanya menolak versi semasa?

Sebenarnya tiada pilihan selain mengklon dan menulis ganti semula, tetapi terdapat ratusan megabait dalam talian, jadi lebih baik jika terdapat sebarang parameter arahan yang boleh dibuang begitu sahaja.


Cari cara https://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html untuk mengosongkan sejarah. Saya sedang mencubanya. Saya akan terus menulis apabila ia OK.

某草草
某草草

membalas semua(2)
伊谢尔伦

Saya akhirnya menemui cara yang mudah dengan menggunakan perintah cawangan penapis yang disertakan dengan git boleh menapis dan memadam, tetapi saya menjalankannya sepanjang malam dan ia tidak berakhir, terperangkap pada kemajuan 98%. Kemudian, saya menemui alat BFG Repo-Cleaner dan memadamkannya dalam beberapa minit Saiz direktori .git telah dikurangkan daripada kira-kira 2.9G kepada 70M Saya memadamkan semua tar.gz, zip, jar, war, dsb pada masa lalu, tinggalkan kod sumber dan akhirnya menolaknya ke github.

Proses pelaksanaan khusus ialah:

bfg --delete-files *.tar.gz # 后面的文件名匹配可换成自己要删除的文件名
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --all --force
git push --all --tags --force
大家讲道理

Rebase, apabila menolak -f

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan