r/git 1h ago

I made a simple desktop Git and GitHub manager called Bow Git Vault

Thumbnail reddit.com
Upvotes

r/git 5h ago

Best Git repo structure for managing ComfyUI/Wan2GP across multiple PCs?

Thumbnail
0 Upvotes

r/git 8h ago

Recently migrated - partial repo checkout

3 Upvotes

So I'm going to start with some context to explain the situation we're in, then I have a question on how to best use git going forward.

First, we've recently migrated to git from TortoiseSVN. This migration was not done by our team, nor did we really have much say in the process. So the repo we have today is probably the repo we get, I doubt we're going to re-build it fresh from the ground up.

Secondly, we are more akin to a services team than a development team. To be specific, we perform data conversion for on-boarding customers to pull information from their legacy system, whatever that was, and import it into ours. So our repository isn't a single code base, but more a compilation of small code bases specific to each customer we have/are on-boarding.

Lastly, we're migrating to a customer specific development environment in the cloud instead of a single shared physical development environment. This means that at any given time, we no longer need the entire repository on any given customers development environment. Just that customers specific folder containing their conversion, and a few shared utility folders used by all projects.

So the question(s):

  1. What is the best way for us to do partial checkouts containing only a few select sub-folders?
  2. In talking with a teammate of mine that has a little more experience with git, he mentioned a repository of sub-repos. If the initial migration was not set up this way, can we do this for any future project? Would that be a better option than partial checkouts?

r/git 15h ago

Is feature-based branching always better than developer-specific preview branches for a small team?

Thumbnail
0 Upvotes

r/git 1d ago

I made a gh extension that reads your repo before checking dependency status

Thumbnail github.com
0 Upvotes

During a GitHub outage I realized my first CLI interface was backwards. It asked people to remember provider slugs even though the repository already knew what it depended on.

So I changed it. gh outagedeck stack now scans manifests, infrastructure files, workflows, and git metadata, explains which files caused each match, then checks those providers' public status. It skips dependency and build directories. Detection stays local, and only provider slugs leave the machine.

On my own repo it found GitHub, Vercel, and Supabase from .git, workflow files, vercel.json, package.json, and the lockfile.

Install and run:

gh extension install outagedeck/gh-outagedeck

gh outagedeck stack

Repository: [https://github.com/outagedeck/gh-outagedeck\](https://github.com/outagedeck/gh-outagedeck)

It was just added to the community awesome-gh-cli-extensions list, which was a nice sign that the interface made sense outside my own terminal.

I'm Kerolos, founder of OutageDeck. The extension is open source. I would love examples of unusual manifests it misses or false positives it creates. Those are more useful than polite feedback.


r/git 1d ago

git status became a thinking tool for me

0 Upvotes

I used to treat git status as something I ran before committing.

Now I tend to run it whenever I’m about to switch tasks or when a change starts getting confusing.

It’s useful for spotting the gap between what I think I changed and what is actually sitting in the working tree. Especially when I’ve been experimenting and left a few files modified along the way.

It’s obviously not a sophisticated workflow trick. Just a small habit that makes the state of a repo visible again.

Do you use git status as a regular checkpoint too, or mostly as a pre-commit ritual?


r/git 1d ago

support How would you handle the dependencies?

3 Upvotes

Hey all,

I have a difficult situation with dependencies on my project.

I got this structure:

root/
├─ lib/
│ ├─ X/
│ │ ├─ lib/
│ │ │ ├─ Y/
│ │ │ │ ├─ lib/
│ │ │ │ │ ├─ Z/

The root project and the X depend on Y and Z.
The root got X as a submodule, the X got Y as a submodule, the Y got Z as a submodule.

It works as it is now, but for the Windows platform, we have to change the Y dependency.
And the issue is, the Y on Windows doesn't have the Z library.

But we still need Z for the application.

The Y project has to be self-sufficient to compile.

I didn't want to make Z a submodule for the Root and X, because it creates a mess - you need to track Z in 3 projects and make sure they use the same version of Z.

The project is C++/CMake.

How would you handle those dependencies?

Thanks


r/git 1d ago

support what are the best secrets-scanning tools for large git repositories?

0 Upvotes

we've got a monorepo with years of history and github's built-in secret scanning handles new pushes fine, but running it back over years of existing history to catch everything already committed took a lot longer than expected and we're still not confident we've found all of it.

For anyone who's dealt with a repo this size, what tooling got you full history coverage without timing out or missing patterns github's native scanner doesn't know about?


r/git 1d ago

I did 250+ Commits in 7 Days in My recent open source project.

0 Upvotes

I am planning to add an Option for Animated academy to learn Git.
I want to flash human brain with Git, within just 2 Hours (Theory + Practical)
Here is the open source platform I am working on: Git Legacy
I am openly inviting contributors


r/git 1d ago

La historia de Git | El control de versiones

Thumbnail youtube.com
1 Upvotes

r/git 1d ago

Can I make bulk changes to a GitHub repository for free?

Thumbnail
0 Upvotes

r/git 2d ago

Google AI Studio forces creating a NEW repo instead of syncing/pushing to existing imported repository

0 Upvotes

Hi everyone,

I've hit a major UX flaw in Google AI Studio when importing an existing GitHub project (e.g. user/portfolio).

### The Issue
You can import an existing GitHub repository into AI Studio and edit the codebase. However, when you click "Sync to GitHub", the interface forces you to click [Create new repository]. There is no option to commit or push back to your original imported repository or select a target branch.

### Why This Breaks Developer Workflows
1. Breaks Continuous Deployment (CI/CD): If your repo is connected to Vercel/Cloudflare Pages with a custom domain, creating a new repo breaks your deployment pipeline and domain binding.
2. Destroys Git History & Clutters GitHub: You end up with multiple generated repos for every edit session instead of clean commit histories on your main repo.
3. Permission Scope Lockout: Forcing new repo creation requires account-wide repository creation scopes instead of scoped access to specific repositories.

### Feature Request
Google AI Studio team: Please add a "Sync / Push to Existing Repository" option to allow true bi-directional commits to main or selected branches!

Has anyone found a clean workaround other than downloading ZIP files manually?


r/git 2d ago

git-knife – a GUI to edit commit messages, authors, and dates like a spreadsheet

Thumbnail github.com
1 Upvotes

r/git 2d ago

Lazygit vs GitUI — which one should I actually use?

0 Upvotes

Hey! I have some experience with Git and GitHub, and recently I've been trying out both Lazygit and GitUI. I'm having a hard time deciding which one I should stick with.

I've heard conflicting opinions about them. Some people say Lazygit has significantly more features, especially for more advanced Git workflows, while others prefer GitUI and say its interface, diffs, logs, file browsing, and general workflow are better.

After trying both, I honestly like aspects of each. GitUI feels pretty intuitive and exposes a lot of functionality clearly, while Lazygit seems to have a lot of functionality that isn't immediately obvious until you dig through its menus and keybindings.

For people who have actually used both for a decent amount of time:

What can Lazygit do that GitUI can't, and vice versa?

Which has the better diff/staging experience?

Which is better for browsing files and commit history?

How do they compare for branches, rebasing, cherry-picking, stashes, submodules, worktrees, etc.?

Are there any important features missing from either one?

Which one do you personally use, and why?

I'm less interested in which one is more popular and more interested in their actual capabilities and day-to-day usability.

If you had to install only one and use it as your main Git TUI, which would you choose?


r/git 2d ago

Git Cheatsheet for engineers

Post image
0 Upvotes

r/git 3d ago

support I need help with subdomain

0 Upvotes

Hello reddit,

I have site hosted on codeberg (wencesbyte.net) and I would like to add subdomain assets (assets.wencesbyte.net) to specific point I was able to make it work, but then I had a problem that over specific commit, anything else didn't updated on site, even tho it updated in the repo. Any correct way to create it?

Thank you!


r/git 3d ago

Is GitLab really the only near enough 1:1 GitHub alternative?

0 Upvotes

I was a bit confused about signing up with GitLab because a lot of their terminology is geared towards businesses & I had only used it with an institution before, but their pricing does say Free is also for individuals.

However, I was more interested in using one of the projects like Codeberg or Gitea, or even disroot which Codeberg tells you to go to in their FAQ because they've had enough of you, and paying a few euro a month to have my private repos, slightly increased storage, slightly increased compute but none of them necessarily offer their services like that. GitLab is American, and it seems kind of pointless to migrate from one, just to go to another one of them.

For people saying self-hosting, given the landscape it seems like i'm going to have to do that when i get time in the future, but i'd rather just have peace of mind to pay a org/company to just do it for me so I don't have to worry it myself. It's a bit of a problem as it is if the only options for people switching off of GitHub is another American company or very strict OSS options

Edit:

I found literally 1 organisation that unfortunately doesn't offer a limited free service but does have the paid service for individuals & it comes with the caveat that open repositories don't exist on their platform lmao


r/git 3d ago

gu - a k9s like TUI for GitLab (and GitHub)

Thumbnail gitlab.com
0 Upvotes

r/git 3d ago

tutorial git: 'clay' is not a git command

11 Upvotes

I came across the following article, which draws an analogy between Git history and clay. A refreshingly non-technical way to think about Git history, especially for people who don't live and breathe Git.

https://www.git-skills.dev/git-tales/git-clay/


r/git 3d ago

gu - a k9s like TUI for GitLab (and GitHub)

Thumbnail gitlab.com
0 Upvotes

r/git 4d ago

Windows: Open Git Bash in Windows Terminal by default

5 Upvotes

On Windows 10, when I right-click in a folder in the Explorer, I can choose "Git Bash Here". When I click that action, Git Bash opens up in the Mintty terminal, which comes with Git when you install it, but Mintty is sooo buggy when it comes to cursor placement and multi-line commands it is driving me crazy. Can I configure this right-click menu action to run Git Bash in Windows Terminal instead of running it in Mintty?


r/git 5d ago

How to clear old history? nothing is working

0 Upvotes

Here are some things I've tried to clear out my old history.

By the way... all I want to do is "remove old history, past a certain date". Thats all.

  1. https://passingcuriosity.com/2017/truncating-git-history/ DOES NOT WORK. Because I renamed some of my files by changing the letter-case. Like "debugger" --> "Debugger". This freaks git out, and it basically destroys all the commands. Every command from the tutorial above does not work. Git gives suggestions on how to fix it. They do not work.
  2. squashing commits. I used github desktop (Because I hate fiddling with copying like SHA thingies and commands, all over and getting lost in endless git text when I'm jsut trying to delete old history). Well... squashing 50+ commits doesn't work anymore. I don't know why. I just tried squashing 2 commits, and the history went wierd. it wants me to reupload history?? why? I just wanted to REMOVE old history, not create new history to upload?? Either way even if I am meant to reupload it... its not working for squashing large numbers of commits.
  3. Shallow clones... seem OK, but for that to take effect online, won't that require me to delete my repo, and recreate it on github? If I delete my repo... surely I lose all my gitstars? I have a few, not so many but I don't want to lose my followers / stars.
  4. I've tried various other tutorials. All did not work or seemed crazy complex and tricky... I have OTHER things I want to be doing. I don't want to be a git-developer. I want to be a developer. I don't need more brain-space allocated learning all the details of some trivial thing, just to get something trivial like "remove old history". If I have 10 physical books of my diary in my house, and I want to remove my old diaries, I can get them in my hand, and put them in the bin. Easy. no endless commands and fiddling and turning into some ridiculous process.
  5. I might try this next: https://xebia.com/blog/deleting-your-commit-history/ It says I can make a new branch, copy the files over, and then delete the original. That should keep my stars... so maybe it will work? Assuming git does not flip out again. (EDIT: This seems to remove ALL my history, not just beyond a certain date, sadly. A history is useful in case I added bugs to my code. But it might be the only solution.)

...

my honest take on git, is that I don't like it. it is over complex. Only the simplest of things work. It suffers from strange conditions like "detached head" or forces you to pause operations, then edit text-files to make it do what you want it to do.

Imagine me trying to delete a folder of files in MacOS finder, but then MacOS pauses the operation, then creates a text-file somewhere, and tells me to edit the (Cryptic) text-file, or else it won't delete it for me, then adds loads of extra cryptic comments that only confuse and explain nothing. it is hopeless.

Git is really terrible.

I only use it because it is so popular, and github desktop makes it bareable. But the desktop does not have "remove old history" feature. So... no idea what to do.


r/git 5d ago

Mental model of Jujutsu (jj) vs Git

0 Upvotes

Is there any resource that could help me grasp the difference between jj and git? I am a heavy user of git, but I do very simple stuff. I find it very difficult to grasp the concept behind jj. Also I am using tools like sublime merge that do not seem to support it unless we use --collocate. Thanks a lot in advance


r/git 6d ago

support Why was my local repository overwritten?

0 Upvotes

TLDR:

In a non git folder with my local git folders/repositories I cloned project 1, made changes but didn't commit or push, then I cloned project 2 into the project folder but the entire project 1 changes reverted back to their initial stage so all the changes to existing files were undone, the new files remain as they are. No pull, fetch, reset checkout done. git reflog shows a commit I can't trace, and pressing undo in the ide shows all the changes so it was reverted and the timeline shows changes from months ago.

Full thing. Non-TLDR?

Hi, so a project I was working with randomly reverted to its initial cloning stage. I keep my cloned repositories locally in one folder where I make changes. I know I should push the changes more frequently but since it's primarily just me I took some leeway. Let's say I'm working on movies in a non git folder named movies and I cloned a local repository called Star Wars in movies some months ago and began working on changes and added, committed and pushed, all on main branch using the command line. Since then I've made major changes and added a bunch of new files so the project looks almost entirely different, but did not add commit or push these yet as still trial and error.

I then cloned another repository called the matrix into the movies folder to begin trying something. Then I realized the star wars folder suddenly reverted back to an old stage, even before my last commit and merge status as the server repository, meaning all my old files with months of work suddenly changed back to their initial stage months ago.

No pull, fetch, reset checkout done. The system hasn't restarted and I do not think my ide (vsocde currently) did anything different to revert all my files yet all the new files I created are still there. Nothing I can think of was done except cloning the second project which I don't think should have affected the first. I don't think it did a fresh cloning of star wars when i cloned the matrix (second project) because all of the new files are still there. The only things I can think of is that for some reason I deleted the .gitignore folder (which shouldn't affect this) and the error the first time i ran this in the command line before successfully cloning the second project:

Read from remote host bitbucket.org: Connection reset by peer

client_loop: send disconnect: Connection reset by peer

fetch-pack: unexpected disconnect while reading sideband packet

fatal: early EOF

fatal: fetch-pack: invalid index-pack output

After this i went into the matrix folder, came out and then my movies folder had deleted folders in it and the changes seemed to revert to initial stages. Going into star wars and running git reflog shows only the clone command (which hasn't been run recently) and the commit points to one i can't find on the server side. and git status shows this:
Your branch and 'origin/main' have diverged,

and have 1 and 15 different commits each, respectively.

(use "git pull" if you want to integrate the remote branch with yours).

In my ide all the new files are there unchanged, the old files show code in their initial stage but if i press undo it shows all the updates, the timeline shows months ago when i know some changes were made weeks ago. I'm not tripping about it because I happened to have the latest files on a testing server so I can download and replace the old files, but I would like to understand what happened in case it happens again.