Chciałbym powiedzieć git
, aby zignorować plik o nazwie foo.ext
wtedy i tylko wtedy, gdy istnieje inny plik o nazwie foo.txe
. Jestem prawie pewien, że nie da się tego zrobić przy użyciu składni .gitignore
, ale może są inne trudne sposoby, o których nie myślę?Jak powiedzieć git, aby ignorował określony plik tylko wtedy, gdy istnieje inny plik?
Przykład użycia: Często zapisuję dane dokumentu LaTeX w podkatalogu o nazwie figures
. I zwykle projektuję swoje figury z Xfig. Moje makefile wywołuje fig2dev
wygenerować parę plików ze źródła figures/foo.fig
:
figures/foo.pdf
, plik PDF dla części graficznej,figures/foo.pdf_t
, plik LaTeX dla tekstu, z poleceniemincludegraphics
aby zaliczyć PDF.
Ponieważ te dwa pliki są generowane, chciałbym je zignorować podając git
. Mogę dodać dwa proste wzory wykluczeń do mojego pliku .gitignore
, ale zdarza się również, że niektóre z moich liczb są w zwykłym pliku PDF, a nie generowane z innego źródła. I oczywiście chciałbym, aby nie ignorować tych plików git
.
Chciałbym dodać coś takiego:
/\(**\)/figures/\(*\).fig: /\1/figures/\2.pdf /\1/figures/\2.pdf_t
do mojego pliku .gitignore
, co oznacza, że każdy plik o nazwie /<some_path>/figures/<some_name>.pdf
lub /<some_path>/figures/<some_name>.pdf_t
będą ignorowane tylko wtedy, gdy plik o nazwie /<some_path>/figures/<some_name>.fig
istnieje z tego samego <some_path>
i <some_name>
.
Możliwa duplikat [Gitignore pliku, jeśli plik z innym rozszerzeniem istnieje] (http://stackoverflow.com/questions/28325195/gitignore-a-file-if-file- with-different-extension-exists) –