Bazen birden fazla git
reposunda çalışırken şirket repoları ve kişisel repolar karışıyor. Yada geliştirme ortamını yeni kurdunuz ama aşağıdaki ayarları yapmayı unuttunuz.
git config --global user.name "DevOps TR"
git config --global user.email mail-address@devopstr.com
Bu durumda bütün commit
kullanıcıları işletim sistemine giriş yaptığınız kullanıcı adı ile veya hatalı olan diğer mail adresiniz ile gözükecek.
Aşağıdaki basit git
komutu bu durum olduktan sonra düzeltmenizi sağlıyor.
git filter-branch --commit-filter '
if [ "$GIT\_AUTHOR\_EMAIL" = "wrong@mail.com" ];
then
GIT\_AUTHOR\_NAME="DevOps TR";
GIT\_AUTHOR\_EMAIL="correct@devopstr.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
Yapılan iş çok basit; git filter-branch
komutu git
tarihçesini baştan yazmanızı sağlayan bir komut. Bu komut sayesinde hatalı mail adresi içeren commit
mesajlarını bulup, o mesajlar için düzgün author
bilgisini set edip git commit-tree
komutu ile modifiye edilmiş yeni commit object
yaratılmasını sağlamış oluyoruz.