ten sposób można niby zrobić z git filters:
- Tworzenie Plik/Otwórz gitattributes.
- < projekt root>/gitattributes (zostanie oddany do repo)
LUB
- < pierwiastek projektu> /. Git/info/attributes (nie zostanie zatwierdzony do repozytorium)
- Dodaj linia określająca pliki mają być filtrowane:
*.rb filter=gitignore
, tj uruchomić filtr o nazwie gitignore
wszystkich *.rb
plików
- Zdefiniuj filtr
gitignore
w gitconfig
:
$ git config --global filter.gitignore.clean "sed '/#gitignore$/'d"
, czyli usunąć te linie
$ git config --global filter.gitignore.smudge cat
, czyli nic nie rób podczas wyciągania pliku z repo
Uwagi:
Oczywiście, to dla plików rubin, stosowana gdy linia kończy #gitignore
, stosowane na całym świecie w ~/.gitconfig
. Zmodyfikuj to jednak, jeśli potrzebujesz do swoich celów.
Ostrzeżenie!
Powoduje to, że plik roboczy różni się od repozytorium (oczywiście). Każde sprawdzenie lub przebicie oznacza, że linie te zostaną utracone! Ta sztuczka może wydawać się bezużyteczna, ponieważ linie te są wielokrotnie tracone przy kasie, ponownym uruchomieniu lub pociągnięciu, ale mam konkretny przypadek użycia, aby z niego skorzystać.
Wystarczy git stash save "proj1-debug"
podczas gdy filtr jest nieaktywna (tylko tymczasowo wyłączyć go w gitconfig
czy coś). W ten sposób mój kod debugowania zawsze może być git stash apply
'd do mojego kodu w dowolnym momencie bez obawy, że linie te zostaną przypadkowo popełnione.
Mam pomysł na radzenie sobie z tymi problemami, ale spróbuję go wdrożyć w innym czasie.
Dzięki Rudi i jw013 za wzmiankę o filtrach git i gitattributes.
nie mogę powiedzieć, czy jest to fatalny pomysł genialny jeden lub . –
@ KyleStrand co najmniej, mogę dodać go do debugowania linii, które wpisuję i czuć się bezpiecznie wiedząc, że nie zostaną przypadkowo popełnione. – Kache
Dobrze, to jest "genialna" część. –