<sigh> All that nice talk about pipelines, automated testing, and so on. Where I work, we're "working toward that." We have been for at least five years now.
It's not too big of a deal with one of my apps. It isn't all that huge and I'm doing everything in it, from the database all the way to the front end. When you've got the full stack, merging code gets mighty easy! Testing, on the other hand.. basically, that's all me as well, with some possible help from the project manager. At least I know the application inside out, so 'change here breaks dat dehr' is rare.
With other apps, though, it's not so good. The effort going into switching to modern workflow in is way too small to really make it happen.
I think what's really killing it is how work efforts get decided. I work at a company that isn't an IT business; we just work on custom applications to help them run that business. The organization is set up in such a way that the business (specifically, the high level managers) tell us what we should be working on. It's been great for getting big effort business features done. It's pretty good for getting issues that only the folks really using the applications see, too. (The business isn't a huge one - when the bottom level complains, the top level can still hear it.) It's pretty terrible when it comes to IT people working on stuff that IT needs, though. Taking a few weeks to figure out how to get as much as we can into modern work-flows, though? No way. There are too many "critical initiatives".
We did get a little back door recently, though. Somebody high up managed to convince the business to spend some time on one specific goal: get product out on time. Well, there's very little we do that doesn't fit under that goal! That gave us a way to spend time on things than the critical initiatives, like putting some basic telemetry in our applications and recording errors in our database instead of just emailing the developers. (Outlook is astoundingly poor when it comes to researching errors!) I hope it lasts long enough to make some reports on all that data but, even if it doesn't, at least I can pop in and do a quick SQL query to figure out how long an error has been happening or see if anyone is actually using that button I put in two years ago.