Myślę, że są sytuacje, w których ignorowanie .gitignore jest bardzo przydatne. Na przykład, gdy masz wiele zespołów lub duży zespół pracujący na tej samej bazie kodu. W takim przypadku musisz mieć pewne konwencje, jedna z nich dotyczy tego, co jest ignorowane w git repo. Zwykle chodzi o ignorowanie plików i katalogów utworzonych przez IDE lub system operacyjny, niektóre wygenerowane dzienniki itp.
Istnieje jednak siła, która dąży do wprowadzenia niekonwencjonalnych zmian do .gitignore
pliku. .gitignore
Plik może być dodatkowo zmieniona przez nieodpowiedzialną osobę, przez pomyłkę, przez narzędzie, które jest używane, lub w innej sprawie.
Aby uzyskać przeciwdziałanie temu, możemy wykonać następujące czynności:
- Początkowy plik .gitignore powinien odzwierciedlać konwencję w zespole (zespołach),
- Po wypchnięciu należy go zabezpieczyć, dodając pozycję .gitignore i ponownie wprowadzić tę zmianę.
.gitignore
Plik jest w ten sposób „ zapieczętowany ”.
Plik „ zapieczętowany ” .gitignore
można zmienić, tylko lokalnie, bez propagowania tych zmieniaczy do innych członków zespołu (zespołów). Jeśli jednak zmiana jest szeroko uzgodniona w całym zespole (zespołach), wówczas można ją „odblokować”, zmienić i ponownie „zapieczętować”. Tego nie da się zrobić przez pomyłkę, tylko celowo.
Niestety, nie możesz być w 100% chroniony przed głupotą, ale w ten sposób zrobiłeś wszystko, aby zapobiec głupotom.
Jeśli masz stosunkowo niewielki zespół z bardzo dobrymi profesjonalistami, nie byłoby to ważne, ale nawet ci faceci doceniliby mniejszą problem.
Używanie .git/info/exclude
jest fajne, gdy nie możesz nic zrobić z ustawieniami infrastruktury, wystarczy zakryć własne **, aby się nie pomylić.
Z punktu widzenia tego, co jest dobre, a co złe, głosuję za wprowadzeniem .gitignore
pliku .gitignore do pliku, dając każdemu swobodę robienia na miejscu, co tylko chce, ale nie inwazji na innych.
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD