Git, dosya iletimini izler ve kullanarak yamalar oluştururken izin değişikliklerini gösterir git diff -p. Yani ihtiyacımız olan tek şey:
- ters yama oluştur
- sadece izin değişikliklerini dahil et
- yamayı çalışma kopyamıza uygulayın
Tek astar olarak:
git diff -p -R --no-ext-diff --no-color \
| grep -E "^(diff|(old|new) mode)" --color=never \
| git apply
Ayrıca git config bir takma ad olarak ekleyebilirsiniz ...
git config --global --add alias.permission-reset '!git diff -p -R --no-ext-diff --no-color | grep -E "^(diff|(old|new) mode)" --color=never | git apply'
... ve şu yolla çağırabilirsiniz:
git permission-reset
Eğer kabuk ise bash, tırnak işareti 'yerine "tırnak işareti kullandığınızdan emin olun !git, aksi takdirde gitçalıştırdığınız son komutla değiştirilir .
Basitçe kullanarak Bunu belirttiğin için @Mixologic için Thx -Rüzerinde git diff, hantal sedkomut artık gereklidir.