Saya memiliki git repo dengan dua cabang yang tidak terkait, master dan konfigurasi. Saya telah membuat konfigurasi, membersihkan semua file dan kemudian menempatkannya di file konfigurasi saja. Sekarang saya ingin mendorong ini pada repo jarak jauh, tetapi karena ini adalah cabang baru yang kosong (tanpa log dari semua perubahan saya dan revisi lama dari cabang asli).
Bagaimana saya bisa membersihkan semua sejarah dan mendorongnya?
Jawaban:
Membersihkan semua file tidak menghilangkan riwayat. Anda perlu membuat cabang yang tidak memiliki sejarah terlebih dahulu, dan menambahkan file konfigurasi Anda. Hari-hari ini
git checkout
memiliki--orphan
opsi yang membuat cabang tanpa sejarah. Berikut informasi tentang--orphan
opsinya:Berikut link ke dokumentasi untuk checkout . Anda juga bisa berlari
git help checkout
juga.Setelah Anda membuat cabang Anda tanpa riwayat, kemudian ketika Anda mendorongnya ke server, itu juga tidak akan memiliki riwayat itu. FWIW, ini membantu saya untuk memikirkan
git push
sebagai "membuat cabang jarak jauh terlihat sama dengan cabang lokal saya". Jadi jika Anda memiliki sejarah, dan mendorong, itu akan memiliki sejarah. Jika tidak, maka cabang yang didorong tidak.sumber
Bagaimana saya bisa membersihkan semua sejarah dan mendorongnya?
Kemudian Anda dapat menjalankan file
cf. satu baris ini
sumber
Saya perlu melakukan ini untuk mengirim seorang freelancer beberapa kode tanpa membagikan informasi pribadi atau menghapus riwayat saya.
Jika ada di antara Anda yang menggunakan SourceTree, beginilah cara saya melakukannya. Tolong beri tahu saya jika saya melakukan sesuatu yang salah atau saya lupa sesuatu karena saya sangat tidak terbiasa dengan manajemen kendali sumber.
Ketika saya memeriksa bitbucket, tampaknya ini berfungsi dan membuang riwayat komit saya.
Semoga ini membantu seseorang.
sumber