git-cola
jj
git-cola | jj | |
---|---|---|
15 | 88 | |
2,191 | 6,673 | |
1.0% | - | |
9.6 | 10.0 | |
18 days ago | 6 days ago | |
Python | Rust | |
GNU General Public License v3.0 only | Apache License 2.0 |
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-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)
jj
- Why Don't I Like Git More?
-
Twenty Years Is Nothing
Jujutsu is along the lines of what you describe: https://github.com/martinvonz/jj
You can drop it in and work seamlessly from git repos
-
Git Branches as a Social Construct
Pull Requests (or Merge Requests) are merged only when (1) all of the automated tests pass; and (2) enough necessary reviewers have indicated approval.
Git doesn't tell you when it's necessary to have full test coverage and manual infosec review in development cycles that produce releases, and neither do Pull Requests.
https://westurner.github.io/hnlog/#comment-19552164 ctrl-f hubflow
It looks like datasift's gitflow/hubflow docs are 404'ing, but the original nvie blog post [1] has the Git branching workflow diagrams; which the wpsharks/hubflow fork [3] of datasift/gitflow fork [2] of gitflow [1]has a copy of in the README:
[1] https://github.com/nvie/gitflow
[2] https://github.com/datasift/gitflow
[3] https://github.com/wpsharks/hubflow?tab=readme-ov-file
https://learngitbranching.js.org/ is still a great resource, and it could work on mobile devices.
The math of VCS deltas and mutable and immutable content-addressed DAG nodes identified by 2^n bits describing repo/$((2*inf)) bits ;
>> "ugit – Learn Git Internals by Building Git in Python" https://www.leshenko.net/p/ugit/
SLSA.dev is a social construct atop e.g. git, which is really a low-level purpose-built tool and Perl and now Python porcelain.
jj (jujutsu) is a git-compatible VCS CLI: https://github.com/martinvonz/jj
"Ask HN: Best Git workflow for small teams" (2016)
-
PyPy has moved to Git, GitHub
You will probably like Jujutsu, which takes much inspiration from Mercurial: https://github.com/martinvonz/jj
It isn't a 1-to-1 clone, either. But tools like revsets are there, cset evolution is "built in" to the design, etc. There is no concept of phases, we might think about adding that, but there is a concept of immutable commits (so you don't overwrite public ones.)
It also has many novel features that make it stand out. We care a lot about performance and usability. Give it a shot. I think you might be pleasantly surprised.
Disclosure: I am a developer of Jujutsu. I do it in my spare time.
-
Ask HN: Can we do better than Git for version control?
I have created a discussion. Thank you both
https://github.com/martinvonz/jj/discussions/2691
-
I (kind of) killed Mercurial at Mozilla
> why don't version control systems (especially ones that can change history) have undo/redo functionality out of the box?
It's true. And Jujutsu has undo functionality out of the box, too. It's not just Sapling. :) https://github.com/martinvonz/jj
- Confusing Git Terminology
-
Things I just don't like about Git
Git made the only choice a popular VCS can make. History rewrites will exist, period. If you're opposed to history rewrites, then git gives you the tools to ensure the repos you control are not rewritten, and that's all it can do in a world where people have control of their own computers.
If Fossil ever becomes as popular as git, people will create software that allows history rewriting in Fossil, and that's fine. People will do what they want on their own computer, and I think it's morally wrong to try and stop that.
Another user in this thread linked to jj [0], an alternative git client that does some pretty weird things. For example, it replaces the working tree with a working commit and commits quite often. I like git and that seems weird to me, but I'm not offended, people can do what they want on their own computer and I have the tools to ensure repos under my control are not effected. That's all I can hope for.
[0]: https://github.com/martinvonz/jj
-
Pijul: Version-Control Post-Git • Goto 2023
I recently found out about another project called jj: https://github.com/martinvonz/jj. It takes inspiration from Pijul and others but is git-compatible.
-
A beginner's guide to Git version control
https://github.com/martinvonz/jj
I think maybe both fossil and bitkeeper are more intuitive too.
Did you try any of those?
What are some alternatives?
VCS - This is my first simple version control system
git-branchless - High-velocity, monorepo-scale workflow for Git
Guitar - Git GUI Client
Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.
GitUp - The Git interface you've been missing all your life has finally arrived.
forgit - :zzz: A utility tool powered by fzf for using git interactively.
VirtScreen - Make your iPad/tablet/computer into a secondary monitor on Linux.
EdenSCM - A Scalable, User-Friendly Source Control System. [Moved to: https://github.com/facebook/sapling]
django-markdownx - Comprehensive Markdown plugin built for Django
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
webdiff - Two-column web-based git difftool
git-imerge - Incremental merge for git