git
git-cola
git | git-cola | |
---|---|---|
10 | 15 | |
726 | 2,191 | |
1.5% | 1.0% | |
0.0 | 9.6 | |
7 days ago | 2 days ago | |
C | Python | |
GNU General Public License v3.0 or later | 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
-
Ask HN: Can we do better than Git for version control?
Microsoft had a bunch of solutions to handle their massive Windows repo: VFS for Git (GVFS), Scalar, and now it has a bunch of MS specific patches on top of the official git client, but apparently that one is also not required any more as partial clone is now supported on azure as well (which is another such implementation from Microsoft employees that made it to both GitHub and upstream git).
https://github.blog/2020-01-17-bring-your-monorepo-down-to-s...
https://devblogs.microsoft.com/devops/introducing-scalar/
https://github.com/microsoft/git
https://devblogs.microsoft.com/devops/git-partial-clone-now-...
-
We Put Half a Million Files in One Git Repository, Here's What We Learned (2022)
That was discontinued (like multiple times under different names). And is moved into a git fork. https://github.com/microsoft/git
- How to convince management that something like Git is industry standard?
-
Improve Git monorepo performance with a file system monitor
Interesting! It seems some of Scalar from late 2021 has already made it into the official git project's contrib dir [0]. It looks like Scalar is mostly an opinionated way to configure git [1], especially by using git partial-clone.
Git partial-clone looks almost perfect, except it only downloads and displays files explicitly added to the git sparse-checkout list. I want some "magic" vfs shenanigans that lets me view and browse the full repo exactly as if the full repo where checked out, but when I open a directory or file the contents are downloaded on-demand.
[0]: https://github.com/git/git/tree/master/contrib/scalar
[1]: https://github.com/microsoft/git/blob/vfs-2.37.0/Documentati...
-
GitHub incident: 2022/03/24
Ironically, Microsoft has been a major contributor to improvements in git for handling large repos after Windows was migrated to git.
https://github.com/microsoft/git
-
The largest Git repo on the planet (2017)
300GB git repo... anyway, good to see there's work for merge in back to git proper, though it seems like that is still a work in progress (maybe) as https://github.com/Microsoft/git/ still seems pretty active.
-
Make your monorepo feel small with Git’s sparse index
This is well written and deserves my upvote, because sparse-checkout is part of git and knowing how it works is useful.
That said, there's absolutely no reason to structure your code in a monorepo.
Here's what I think GitHub is doing:
1) Encourage monorepo adoption
2) Build tooling for monorepos
3) Selling tooling to developers stranded in monorepos
Microsoft, which owns GitHub, created the microsoft/git fork linked in the article, and they explain their justification here: https://github.com/microsoft/git#why-is-this-fork-needed
> Well, because Git is a distributed version control system, each Git repository has a copy of all files in the entire history. As large repositories, aka monorepos grow, Git can struggle to manage all that data. As Git commands like status and fetch get slower, developers stop waiting and start switching context. And context switches harm developer productivity.
I believe that Google's brand is so big that it led to this mass cognitive dissonance, which is being exploited by GitHub.
To be clear, here are the two ideas in conflict:
* Git is decentralized and fast, and Google famously doesn't use it.
* Companies want to use "industry standard" tech, and Google is the standard for success.
Now apply those observations to a world where your engineers only use "git".
The result is market demand to misuse git for monorepos, which Microsoft is pouring huge amounts of resources into enabling via GitHub.
It makes great sense that GitHub wants to lean into this. More centralization and being more reliant on GitHub's custom tooling is obviously better for GitHub.
It just so happens that GitHub is building tools to enable monorepos, essentially normalizing their usage.
Then GitHub can sell tools to deal with your enormous monorepo, because your traditional tools will feel slow and worse than GitHub's tools.
In other words, GitHub is propping up the failed monorepo idea as a strategy to get people in the pipeline for things like CodeSpaces: https://github.com/features/codespaces
Because if you have 100 projects and they're all separate, you can do development locally for each and it's fast and sensible. But if all your projects are in one repo, the tools grind to a halt, and suddenly you need to buy a solution that just works to meet your business goals.
-
Gitfs: Version Controlled File System
VFS for Git was superceded by https://github.com/microsoft/scalar and then many of the features were merged into mainline git, so what is left now is a thin shell around git features in the form of MS's forked git binary: https://github.com/microsoft/git
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?
gitfs - Version controlled file system
VCS - This is my first simple version control system
VFSForGit - Virtual File System for Git: Enable Git at Enterprise Scale
Guitar - Git GUI Client
scalar - Scalar: A set of tools and extensions for Git to allow very large monorepos to run on Git without a virtualization layer
GitUp - The Git interface you've been missing all your life has finally arrived.
mvfs - ClearCase file system
VirtScreen - Make your iPad/tablet/computer into a secondary monitor on Linux.
libgit2 - A cross-platform, linkable library implementation of Git that you can use in your application.
django-markdownx - Comprehensive Markdown plugin built for Django
git-fs - fuse + libgit2
webdiff - Two-column web-based git difftool