Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Post History

75%
+10 −2
Q&A Conditionally ignore files in git

I'm not familiar with Latex, but it seems the PDFs are generated from the Latex files. It then seems the real problem is that you are trying to keep source and objects derived from that source in ...

posted 3y ago by Olin Lathrop‭

Answer
#1: Initial revision by user avatar Olin Lathrop‭ · 2021-12-23T14:21:49Z (almost 3 years ago)
I'm not familiar with Latex, but it seems the PDFs are generated from the Latex files.

It then seems the real problem is that you are trying to keep source and objects derived from that source in the GIT repository.  Ideally, a GIT repository is only for the actual source files (those directly edited by humans).  Put the files that are automatically derived from source elsewhere.  This can be automated with your build scripts putting derived objects in a different place.  That different place could be a subdirectory within the repository that is added to the .gitignore list.

Another possibility is to have a cleaner script that you run before each commit.  This script would delete all the derived objects.

Yet another possibility, although I really don't like this one, is to have the cleaner script instead edit the .gitignore file to ignore the known derived objects, based on the existence of particular source files.