21 votes

Why GitHub actually won

12 comments

  1. skybrian
    Link
    Here is a biased but revealing history from a GitHub co-founder. For Google’s perspective, see this complaint from a Google Code insider.

    Here is a biased but revealing history from a GitHub co-founder. For Google’s perspective, see this complaint from a Google Code insider.

    8 votes
  2. [11]
    carrotflowerr
    Link
    As of right now I use github for a lot of stuff. School work, configs, code (of course), todo lists/calendars. Mostly personal stuff. I really hate that it's owned by microsoft. Does anyone know...

    As of right now I use github for a lot of stuff. School work, configs, code (of course), todo lists/calendars. Mostly personal stuff. I really hate that it's owned by microsoft.

    Does anyone know if it's worth hosting my own git server?

    5 votes
    1. [3]
      ignorabimus
      (edited )
      Link Parent
      Personally I would say no, and your time would be better invested learning/building things than fiddling around with which server you use to store git repositories. You might be interested in...

      Personally I would say no, and your time would be better invested learning/building things than fiddling around with which server you use to store git repositories.

      You might be interested in checking out some other Git providers, for example Sourcehut (Drew DeVault has not quite mastered being nice to people on the internet, but he seems to do pretty well at building a git hosting platform) or Gitlab

      17 votes
      1. [2]
        carrotflowerr
        Link Parent
        sourcehut seems promising! I hadn't heard about it until now.

        sourcehut seems promising! I hadn't heard about it until now.

        1 vote
        1. crdpa
          Link Parent
          There is also codeberg which is free. Sourcehut will be paid once it reaches beta

          There is also codeberg which is free.

          Sourcehut will be paid once it reaches beta

          5 votes
    2. whbboyd
      (edited )
      Link Parent
      If all you want is personal push/pull/clone over ssh, self-hosting git verges on trivial. Set up a user on a server somewhere, init repos in its home directory, add your keys to its...
      • Exemplary

      If all you want is personal push/pull/clone over ssh, self-hosting git verges on trivial. Set up a user on a server somewhere, init repos in its home directory, add your keys to its .ssh/authorized_keys, and you're off to the races.

      The next step up in sophistication is probably gitolite, which uses everyone's absolute favorite mechanism of authorized keys commands to set up multiple-user access controls to your repos.

      If you want lots of associated bells and whistles, well, you can go a lot further. Gerrit will get you a full code review platform. The upper limit of stuff that's plausibly related is probably standing up a Forgejo instance, which will get you issue tracking and CI workflows, among (lots of!) other stuff.

      Personally, I'm self-hosting twenty-something repositories with ssh/gitolite. Some are private, and I'd rather keep them out of third-party systems; some are in-principle public, and for a while I ran gitweb to make them accessible, but I had enough issues with it that I eventually just took it down and now I mirror my public repos to sourcehut and github.

      7 votes
    3. unkz
      Link Parent
      Eh I used to run an internal gitlab, but the maintenance effort was more work than it was worth. We just use GitHub now. ymmv of course, but I like not having to keep up with patches.

      Eh I used to run an internal gitlab, but the maintenance effort was more work than it was worth. We just use GitHub now. ymmv of course, but I like not having to keep up with patches.

      6 votes
    4. [4]
      davek804
      Link Parent
      Running a Gitlab Community instance isn't too hard. There are lots of easier products to deploy for free as well. We use Gitlab CE at work. 400+ devs on there. Corporate has a GitHub, but that's...

      Running a Gitlab Community instance isn't too hard. There are lots of easier products to deploy for free as well.

      We use Gitlab CE at work. 400+ devs on there. Corporate has a GitHub, but that's terrible compared to running our own and not having quite as much overlordiness over us.

      4 votes
      1. [3]
        Macha
        Link Parent
        Forgejo/Gitea are even easier to run if you're looking for a single user instance. Or if you just need to sync code and don't need a UI, you could use anything which lets you access files over SSH.

        Forgejo/Gitea are even easier to run if you're looking for a single user instance.

        Or if you just need to sync code and don't need a UI, you could use anything which lets you access files over SSH.

        8 votes
        1. [2]
          carrotflowerr
          Link Parent
          Honestly this seems like the best option for me. I could sync the files over ssh or ftp and just use git to track changes... and to prevent borking my codebase.

          Honestly this seems like the best option for me. I could sync the files over ssh or ftp and just use git to track changes... and to prevent borking my codebase.

          1 vote
          1. Macha
            (edited )
            Link Parent
            You can also just add a ssh url as a remote and let git do the work. Like if you have access to ssh foo@example.com, then you can just do a git init --bare myrepo on the remote, then set your...

            You can also just add a ssh url as a remote and let git do the work. Like if you have access to ssh foo@example.com, then you can just do a git init --bare myrepo on the remote, then set your remote to e.g. ssh://foo@example.com/myrepo and push/pull away same as with github

            3 votes
    5. Oxalis
      Link Parent
      A nice weekend project would be to setup a self-hosted gitea instance and set it to mirror your github repos for safe keeping. It looks and works exactly the same as github but you can run it on...

      A nice weekend project would be to setup a self-hosted gitea instance and set it to mirror your github repos for safe keeping. It looks and works exactly the same as github but you can run it on your own intranet.
      Then you could disengage from github at some point in the future without any issues other than redirecting the remote urls in your local repos. If that never happens, well then you still have a backup of everything on your github account.

      It is a server application though, best used on something that runs 24/7. I have mine running on a raspberry pi along with a number of other self-hosted applications.

      There are tutorials on installing it into the OS directly but I'd always recommend using a containerization system like docker or podman instead.

      3 votes