Writing up an answer so this isn't unanswered, although HNF was mentioned in the comments.
The Hermite Normal Form is the standard way to reduce a generating set to a basis.
This means it is the standard way to compute several operations on lattices (that are easily expressed in terms of basis vectors), for example
$L+L'$ (which your example is a special case of), or
$L\cap L'$ (this is less obvious, and requires duality).
See the easy lattice problems of these notes.
You commented
It looks like computing the Hermite normal form efficiently is non-trivial...
This is (sort of) true, but non-trivial is far from "hard".
I quote from the notes
It is not hard to come up with an algorithm that computes the HNF of a matrix performing only a polynomial number of operations. However, a naive solution to this problem may result in superpolynomial running time because the numbers in the intermediate computations can easily get very large.
The linked notes include pseudocode for an HNF implementation that of polynomial running time (by ensuring intermediate values stay bounded).
It is perhaps slightly more complex than LLL, but really not by much --- both are algorithms I would expect an junior/senior undergrad to be able to implement without too much effort.
Of course, you can expend more effort to get more practically efficient things.
See this paper of Pernet and Stein. As Stein is the founder of the Sage CAS, I imagine this is fairly close to what Sage had implemented, at least circa 2011.
This algorithm is perhaps the kind of "non-trivial" algorithm you had in mind. But on the other hand, efficient implementations of LLL similarly get non-trivial (I've heard a few years ago that LLL was simultaneously polynomial time, and perhaps hard to actually run on large lattices, say of dimension 1k+).
It's worth mentioning there does seem to be some work that computes HNFs using LLL as a subroutine, see for example this.