3 ms·
git rocket-filter[0] is a friendlier CLI alternative to filter-branch or BFG, although it's a dotnet app and requires the (cross-platform) dotnet runtime. I've
by olvy0 4y ago
git rocket-filter[0] is a friendlier CLI alternative to filter-branch or BFG, although it's a dotnet app and requires the (cross-platform) dotnet runtime.
I've used it successfully to remove huge or sensitive files people pushed to the repo by mistake, it removed them across many branches and merge commits.
That said, I agree with all your points. Personally I almost never use the CLI, I use a GUI front-end (Tortoise-Git, which is windows only). I do use the CLI for occasional scripting or complex operations, but that's rare.
I also train junior devs on git in our company. In fact I just spent part of the last couple months preparing an internal Git course, after having written a non-trivial Git integration for my internal app, which was a painful process and took over 2 years, mostly not Git's fault though.
The Git course I've prepared teaches git using only GUI tools, I now consider the CLI to be an impediment for teaching Git.
> (I train junior engineers on Git often. Once you mention the "staging area" and "index", you'll usually lose them. I can't blame them...they just want to track their work!)
I'm with you there. In fact in the course I have a slide which says something like "most git courses teach you about the Index/staging area at this point. We won't teach you about that. It's not very important right now and it's confusing. If you use Tortoise Git, you simply check the checkboxes for files you want to commit, and don't check the ones you don't. That's all. Now we move on. If you want to know more about these things, see those other courses.".
[0] https://github.com/xoofx/git-rocket-filter https://github.com/xoofx/git-rocket-filter