Personally, to keep my documents like Inkscape files or LibreOffice documents separate from my code, I add a directory under my home directory called Development
. There, I can do git clones to my heart’s content
What do you all do?
~/Prototypes on pretty much all machines I own, from desktop, laptop, server, tablets, ebook readers, RPis, XR headset, video projector, etc.
~/Sources for stuff I’m only building from sources and no immediate intention to contribute to
~/Projects for stuff I’m involved in, with a following structure:
Projects - Personal - - Art - - Music - - Code - - - Ideas - - - In progress - - - Deployed - - - Scripts - - - Abandoned - [Company name] - - [Project name] - Interviews - - [Company name]
The last part grouping project by companies has worked great for me, especially with freelance and outsource work. Sorting personal projects into types and stages feels like a mistake, as every time I have to navigate it, I can’t help but think of limitations of hierarchical file systems, as some of them are multiple types simultaneously, and also moving projects between stages feels dumb.
~/git, for projects I cloned from the web because I don’t know how to code :(
In ~/src Mostly because I’m too lazy to type “source”.
Putting one directly under the home directory feels like a psychopathic move, so I stay by XDG and put them under a subdirectory of xdg-documents
~/src
I NEED TO LEARN HOW TO GIT.
My best recommendation is a good git GUI. I really like Gitkraken (proprietary & freemium unfortunately, but a pretty generous free plan). I’m now more advanced than many of my coworkers because it helped me form an intuitive understanding of git.
Don’t worry, the basics are really easy to
gitget down, you can read any beginner guide to start trying it out, for example this one on baeldung seems pretty alright by a quick skim, or, if you prefer a more playful approach, definitely check out ohmygit.
If you want to try a git hoster as well, make a GitHub profile if you want to go where most everyone is, so you can also easily contribute to others’ projects, otherwise, if you care about staying on a free platform, make an account on Codeberg, fewer people, but all great like-minded free software supporters…or make one on both, ngl
Thanks. I do have a codeberg, a Gitlab and a github account (all I have here are my blacklist and white lists). If my kids allow me, I’ll start swimming on this waters this weekend. I’ve only seen how you guys basically hold repose of pretty much anything and automate workflows and configurations so easily, it’s amazing.
Good luck! It can get complicated so I know how you feel looking at weird configurations that do magic
~/.projects
Similar, but I’m not ashamed of having my projects on display, so it’s just
~/projects
for me.
${HOME}/repos
~/workspace/git
That way I can also keep other stuff in the same “workspace” directory and keep everything else clean
I have a Code, simulations, ECAD, and FreeCAD folder in the workspace folder where projects or 1-offs are stored and when I want to bring them to git, I copy them over, play around in the project folders again, then copy changes over when I am ready to commit.
I could better use branching and checking out in git, but large mechanical assemblies work badly on git.
~/src/${reponame}
~/code/$LANGUAGE/$REPONAME
~/git
I used to use
~/dev
but for years now I use~/Workspace
becaue Eclipse made me do it~/dev/
, with project/org subdirectoriesAdmittedly, that irks me slightly just because of the shared name with the devices folder in root, but do what works for you.
I actually have my whole home directory like that for that reason haha
bin - executables dev - development, git projects doc - documents etc - symlinks to all the local user configs med - pictures, music, videos mnt - usb/sd mountpoints nfs - nfs mountpoints smb - smb mountpoints src - external source code tmp - desktop
This is pure insanity. Chaos.
Same. Short and sweet.