git-rebase-i-playground
git-cola
git-rebase-i-playground | git-cola | |
---|---|---|
3 | 15 | |
47 | 2,191 | |
- | 1.0% | |
0.0 | 9.6 | |
about 1 year ago | 15 days ago | |
HTML | Python | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
git-rebase-i-playground
-
Idiot Proof Git
I wrote an open source project that may be useful to people here:
https://github.com/dmuth/git-rebase-i-playground
It lets you create a Git repo with synthetic commits and has sample exercises for doing different things within that repo, such as removing commits or squashing commits. (along with hints and answers)
Building this project helped me understand the ins and outs of Git much better and I suspect there will be value for anyone else who works through the examples.
-
New developmer joined team and has flagged everything we do
If "git rebase -i" sounds scary, I can help make it less scary, check out this playground I wrote!
-
Commits are snapshots not diffs
If anyone does want to get more into the internals of Git without playing with a production repo, I built a "playground" awhile ago which creates a simple Git repo of synthetic commits which you can then play around with:
https://github.com/dmuth/git-rebase-i-playground
I know it says "rebase -i", which originally what I built it for (and what the exercises in the README are for), but you can really do whatever you want in it, and blow away/rebuild the repo with the included script.
Enjoy!
git-cola
-
Ask HN: Can we do better than Git for version control?
> Visual Studio does a decent job of abstracting the GIT nuances, but I personally use GIT Extensions, which looks and feels much better on Windows than the other cross platform UIs.
IDEs and text editors sometimes have nice Git integrations in the UI, but I wanted standalone software that I can use for anything from various programming projects, to something like gamedev projects (with Git LFS) or arbitrary documents.
In the end, I just forked over some money for GitKraken, it's pretty good, especially with multiple accounts on the same platforms, when you want to switch between them easily: https://www.gitkraken.com/
There's also Sourcetree which I used before then, kind of sluggish but feature complete: https://www.sourcetreeapp.com/
For something more lightweight, I also enjoyed Git Cola on various OSes: https://git-cola.github.io/ Even Git documentation has a page on the software out there, a good deal of which is free and has good platform support: https://git-scm.com/downloads/guis
Quite frankly, I spend like 90% of the time using a GUI interface nowadays, when I want to easily merge things, or include very specific code blocks across multiple files in a commit, or handle most of the other common operations. Of course, sometimes there's a need to drop down to the CLI, but you're right that some GUI software feels like it actually improves the usability here.
- I don't know why so many devs avoid a GUI for Git
-
Why Git Is Hard
I think Git can be a pretty pleasant experience for most folks, as long as you use the basic features and maybe even consider a GUI, anything from Git Cola (free: https://git-cola.github.io/), to something like GitKraken (paid for all features: https://www.gitkraken.com/).
Curiously, the latter also let me setup different accounts that I can switch between with a simple dropdown, which was otherwise annoying when you have Gitea, GitHub, GitLab and others to manage, way easier than https://docs.github.com/en/account-and-profile/setting-up-an...
Either way, suddenly you see the graph of your repo and most of the common actions are a click away, you can just let your brain idle and think about other things you're doing instead, in addition to that working really well with staging chunks of your code, or individual files, cherrypicking and so on.
Then again, personally I prefer squashing in merge/pull requests instead of rebasing, or even just doing regular merge commits and leaving the history as is (which doesn't really scale, but I haven't gotten to the point where that matters that much), so how I use Git won't work for everyone.
- Top 10 Git GUI Clients for Linux in 2023
- Exploring the Top 10 Git GUI Clients for Linux in 2023
-
Git-SIM: Visually simulate Git operations in your own repos with a single termi
> We now have a large selection of tools that allow you to visualize what's going on (I use git-kraken), as well as google for help on doing something that isn't in muscle memory.
Git Kraken is excellent, though Git has a page on various GUIs, many of which are free with no restrictions: https://git-scm.com/downloads/guis
Personally, on Windows I like SourceTree: https://www.sourcetreeapp.com/
Some that have worked with SVN back in the day like TortoiseGit: https://tortoisegit.org/
On *nix Git Cola seems to do the job for me: https://git-cola.github.io/
Then again, the most complex workflow I've worked with was Git Flow and I didn't need anything more advanced than that. Come to think of it, I don't really do rebases often either and mostly just take advantage of squashing commits through GitLab/Gitea and such, when needed.
But hey, that's also valid, using Git in a way where you get version control but mostly keep the technical details out of your way (though Git LFS and certain cases with particular line endings being needed does make you drop down occasionally).
-
Report: More Developers Use Linux Than a Mac
Try git cola. It's not the slickest but it scratches my pointy/clicky desires for git pretty well.
- How can I find someone to explain
-
Idiot Proof Git
If you can tolerate a GUI, Git Cola might be a solution. I'm using it exclusively for some 5 years now – it's lightweight enough, but still makes you think about what you're about to commit. You can add things to .gitignore directly from there, too.
https://git-cola.github.io/
Default layout is pretty barebones, here's what I'm doing instead: https://u.ale.sh/my-git-cola-screenshot.png
-
I think the real reason why people think using the terminal is required on Linux is a direct result of the Linux terminal being so much better than the Windows terminal
i still don't know how to split one commit into multiples (without going insane (if it's even possible)) without a gui like https://github.com/git-cola/git-cola, and that should be a simple operation (especially with git's "split every change into individual commits make it easier to cherry pick" conventions)
What are some alternatives?
google-java-format - Reformats Java source code to comply with Google Java Style.
VCS - This is my first simple version control system
git-friendly - Streamline your git workflow: just type `pull`, `branch`, `merge`, `push`
Guitar - Git GUI Client
javascript - JavaScript Style Guide
GitUp - The Git interface you've been missing all your life has finally arrived.
semantic-release - :package::rocket: Fully automated version management and package publishing
VirtScreen - Make your iPad/tablet/computer into a secondary monitor on Linux.
django-markdownx - Comprehensive Markdown plugin built for Django
webdiff - Two-column web-based git difftool
Gittyup - Understand your Git history!
GitQlient - GitQlient: Multi-platform Git client written with Qt.