[–] 3 points 3 days ago

This is about GitHub, not Git, so seems better fit to !github@programming.dev

Resolved
This incident has been resolved. Thank you for your patience and understanding as we addressed this issue. A detailed root cause analysis will be shared as soon as it is available.
Posted 6 hours ago. Nov 04, 2026 - 11:50 UTC

  • source
  • [–] 1 point 1 week ago

    Thanks for sharing your experience. I'd love to put up a tiny tiny frontend to share my versioned work, but so far my best options seem to be cgit (configuration appears to be a bit of a bear), and legit by icyphox (spelling) (which is a bit unrefined, but at least it's pretty easy to modify).

    Lord help me if I end up trying to make own...

  • source
  • [–] 1 point 1 week ago

    Disclosure: I love git. I learned it along with vi and the GNU coreutils, etc, at my first job, so the roots run deep. When I think of programming, I think of git.

    That said, I can appreciate how it is unintuitive to people who don't really grok it. It is an incredibly powerful tool, but you have to really learn it on its own terms. You'll probably have to pick up a little graph theory, memorize a few kata to get yourself out of common problems (merge conflicts, interactive rebases, etc).

    I'm not sure how anything could replace it without also feeling lack-luster to people who are already good at git. Maybe we just need to keep adding more tooling and visualisation over top of it and let the power users at least be able to work at those lower levels if they choose to.

    I was going to say Git Butler looks like it might have been this, but taking a look at their page now and it seems like they've gone all-in on corporate sponsorships. :P

  • source
  • [–] 2 points 3 weeks ago (2 children)

    and you could try ai on all those other things and you can just talk in a forum for this. Some people don't really use ai. Heck I mostly just use it to sorta evaluate it. I have high hopes for future open source local uses that are more to my liking but what we have now is something I take with a grain of salt.

  • source
  • parent
  • context
  • [–] 2 points 3 weeks ago (4 children)

    why ask ai for something like this. You know you could just ask a forum of people interested in the topic. I don't get why people who want to participate in a forum then feel people should not bring up things to discuss in a forum for the life of me.

  • source
  • parent
  • context
  • [–] 2 points 3 weeks ago

    Sure that works too, though you would likely need to configure your git forge to treat that new branch as the master branch. A branch is ultimately just a pointer to a particular commit, though usually git forges treat one particular branch as "special" (it's the default branch used for clones, and typically disallows direct pushes). This is usually the master or main branch. So my git reset suggestion was intended to reset whatever the default branch of the upstream repo was (probably master).

  • source
  • parent
  • context
  • [–] 5 points 3 weeks ago (1 child)

    There's no sense in deleting a project's history before the fork, which is what that would do.

    It's really quite simple:

    git reset --hard <some-commit-hash>. This will set HEAD to that commit, along with the contents of the working directory. You are the free to push to whichever git forge you are hosting on.

  • source
  • parent
  • context
  • [–] 7 points 3 weeks ago

    A shorter example:

    git clone https://codeberg.org/yourname/yournewrepo
    cd yournewrepo
    git reset --hard abcdef1 # commit that you want to reset to
    git push --force origin
    

    Note that instead of abcdef1 in git reset you can also use the regular expression syntax. So if the commit was named Last release before unwanted changes you would say git reset --hard ':/Last release before unwanted changes'.

  • source
  • [–] 5 points 3 weeks ago* (last edited 3 weeks ago)

    It may depend where the project is and what you want to bring with you.

    If you're asking solely about the Git repository: you need to find exactly which commit is the latest one you want to bring, and specify that commit identifier (the hash of that commit) as the “starting point” when you create a new branch.

    git branch […] []

    https://git-scm.com/docs/git-branch

    So, clone the repository locally however you need to do that. Then, in your local repository, modify what the branches point to:

    e.g. If you determined the latest commit you want to bring, has commit identifier “deadbeefbad1dea”, you can create the branch named “before-the-slop”:

    git branch before-the-slop deadbeefbad1dea

    Now the new branch “before-the-slop” has all the commits up to that, and no further. That's what you'll base your fork on.

    git branch before-the-slop

    git rev-parse HEAD # → deadbeefbad1dea

    Then rename the old “main” or whatever branch, to something like “sloppified-project-main” that gets it out of the way; rename your “before-the-slop” branch to “main”; and set “main” as the default branch in your repository.

    git branch --move main sloppified-project-main

    git branch --move before-the-slop main

    git config set --local init.defaultBranch main

    Some time later, when you've confirmed your repository is how you like it, delete the “sloppified-project-main” branch:

    git branch --delete sloppified-project-main

    and breathe easy.

  • source
  • [–] 15 points 3 weeks ago* (last edited 3 weeks ago) (1 child)

    This opinion is wrong and person should feel bad.

    Did some more work to fix up his previous, unfinished work, and did git commit --amend (good, we don’t like dozens of commit messages like “oops I forgot this bit”, and squashing at the end is more complicated).

    Can't tell if joke. Doesn't seem to be. New branch and push amend, drop old branch, solved. The complaints seem to be, "I don't want to understand git's rigid workflow, instead I want it to intuit what I want. Just overwrite my shit without asking! It's more convenient that way!"

    Who the hell wants presumption in their source control? I want that behavior as rigid as law.

    Remote is truth. Remote is immutable.

    Also, are they legitimately complaining that they don't want small commits? Small commits are best practice because they create granular and traceable history.

    This person needs to:

    1. Stop expecting a tool to adapt to every user's presumptive flow, and instead adapt to the tool.
    2. Define a commit workflow that resolves granular commits into sensical messages.
    3. Don't use force args on remote unless you're the admin and know the potential consequences, ya muppet.

    All this effort to avoid learning and conforming to the standard workflow. Seriously one of the worst opinions I've ever seen. Congrats.

    I think the source of this person's struggle is their own misguided opinions. If they paused and thought, "Why does git do X that way..?", it would become clear. But who has time for that. Thrash and shout.

    TLDR: If git solution is so bad, solve it better.

  • source
  • [–] -1 points 3 weeks ago

    I’d like to look into jujutsu, but I’m very concerned that I might make the hardest part of software development even harder, especially as it won’t be mature right now. Even if I look at it for myself, I could end up distancing myself from the git pain that everyone else has in the team, and thereby make things worse.

    That was exactly what it did in my experience. Until they get their own backend rather than operating with a git backend it’s probably going to continue being like that. It was a very intuitive interface otherwise.

  • source
  • [–] 2 points 4 weeks ago

    Git has a mutable map whose keys are strings, and whose values are content-addressed objects. The keys are conventionally formatted as file system paths

    I used to think this too, but I think it's more accurate to say the keys are filesystem paths. Try creating branches foo and foo/bar. That would be fine if the keys were strings. I vaguely recall there was some effort to make that actually work, but it doesn't today.

    Do you understand why is it origin master in one command, and origin/master in the other? I didn’t, until a few weeks ago!

    I mean I understood that it was because Git has a terrible CLI, and... that is ultimately still the reason. There's no fundamental reason it couldn't have been consistent. It just isn't.

  • source
  • view more: next ›