• 0 Posts
  • 34 Comments
Joined 1 year ago
cake
Cake day: August 6th, 2023

help-circle
  • I made a honest effort, but in the end went back to Git for my personal projects. The advantages Fossil has over Git (wiki, bug tracker) are trivial to emulate with versioned plaintext files, and everything about Git’s version control system just clicks with my head. Having years of experience breaking and unbreaking things helps too.

    Tho one thing Fossil taught me is to merge by default, not rebase. Rebase when there’s good justification for it, and the rest of the time, have an alias for git log --oneline --graph --first-parent (or whatever that was). --first-parent collapses a horrible branchy-mergy history into a linear overview thereof, with details available when needed.









  • If you have a place to host Forgejo/Gitea, you have a place to store a Git server. Set it up like this:

    $ git clone --bare myrepo myrepo.bare
    $ scp -r myrepo.bare srv:
    $ cd myrepo
    $ git remote add origin srv:myrepo.bare
    # or
    $ git remote set-url origin srv:myrepo.bare
    

    Now git push etc work similar to GitHub, but you’re using your server (named srv in SSH config, as shown in my previous post) as the remote storage.

    Selfhosted Gitea is a way to get a wiki, bug tracker or whatnot - collaborate, for example, but it’s not necessary to have a Git server for your personal use.











  • If your local machine is not reachable from the internet, you could set up the cheapest VPS - you can get a free one for 12 months at https://azure.microsoft.com/en-us/free/#all-free-services Connect from your destination machine (the firewalled one) to the VPS, and set up a reverse tunnel. For example, drop this into your ~/.ssh/config on the destination machine:

    Host rtun
            Hostname something
            RemoteForward 1234 localhost:22
    

    tmux new-ses 'while sleep 1; do ssh rtun; done'

    Then configure your local machine to connect to destination via the jumpbox:

    Host vps
            Hostname something
    
    Host destination
            Hostname localhost
            Port 1234
            ProxyJump vps
    

    ssh destination should work now.

    Make sure to use SSH key auth, not passwords, and never transport secret keys off-machine. It’s easier to wipe and recreate a VPS, if you lose keys, than to explain to Security folks how you were the donkey that enabled the breach.