Bagaiman caranya menghilangkan author dari git clone?
Buka Terminal atau Command Prompt di komputer Anda.
Gunakan perintah
git clone
seperti biasa, tetapi tambahkan opsi--no-metadata
setelah perintahgit clone
dan sebelum URL repositori yang ingin Anda klon.Contoh:
bashgit clone --no-metadata https://github.com/username/repo.git
Gantilah
https://github.com/username/repo.git
dengan URL repositori yang ingin Anda klon.Tekan Enter untuk menjalankan perintah tersebut.
Dengan menggunakan opsi --no-metadata
, informasi pengarang (author) akan dihilangkan saat melakukan git clone
, sehingga metadata tersebut tidak akan ada dalam repositori yang telah di-klon di komputer Anda.
kalo sudah terlanjur clone?
Jika Anda sudah melakukan git clone dan ingin menghapus informasi pengarang (author) dari riwayat commit yang sudah ada, Anda dapat menggunakan perintah git filter-branch untuk melakukan rewrites pada riwayat commit. Harap diingat bahwa ini akan mempengaruhi riwayat commit yang ada, dan dapat berdampak pada kolaborasi dengan orang lain yang bekerja dengan repositori yang sama. Berikut adalah langkah-langkahnya:
Catatan penting:
Sebelum melakukan perubahan ini, pastikan Anda memahami konsekuensi dari penghapusan informasi pengarang pada riwayat commit. Jika repositori tersebut sedang digunakan oleh orang lain atau diunggah ke platform berbagi seperti GitHub, perubahan ini dapat mengakibatkan masalah kolaborasi dan kehilangan jejak pengembangan. Selalu lakukan backup repositori Anda sebelum melakukan perubahan semacam ini.
Buka Terminal atau Command Prompt di direktori repositori yang telah di-clone.
Jalankan perintah berikut untuk menjalankan git filter-branch dengan opsi --env-filter:
git filter-branch --env-filter 'export GIT_COMMITTER_NAME="Your Name" GIT_COMMITTER_EMAIL="your.email@example.com"'
Gantilah "Your Name" dengan nama yang ingin Anda gunakan sebagai pengarang (author), dan "your.email@example.com" dengan alamat email yang sesuai.
Tekan Enter untuk menjalankan perintah tersebut. Perintah ini akan mem-filter ulang riwayat commit dan mengubah informasi pengarang sesuai dengan yang Anda tentukan.
Setelah proses selesai, jalankan perintah berikut untuk menghapus referensi riwayat commit yang lama dan membersihkan database git:
perlgit for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
git reflog expire --expire=now --all
git gc --prune=now
Riwayat commit di repositori lokal Anda sekarang sudah diperbarui tanpa informasi pengarang yang lama. Namun, perubahan ini belum diterapkan pada repositori jarak jauh yang telah di-clone. Jika Anda ingin memperbarui repositori jarak jauh (misalnya GitHub), Anda perlu memaksa pengunggahan ulang dengan perintah git push --force origin master
(gantilah "master" dengan nama cabang yang sesuai).