Where Do You Guys Throw Your Local Git Repos?

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?

107 points · 77 comments · view on lemmy.world

77 Comments

jokro@feddit.org · 42 pts · 1y

~/git

mlfh@lemmy.ml · 26 pts · 1y (5 replies)

~/dev/, with project/org subdirectories

data1701d@startrek.website · 24 pts · 1y (3 replies)

Admittedly, that irks me slightly just because of the shared name with the devices folder in root, but do what works for you.

mlfh@lemmy.ml · 27 pts · 1y (2 replies)

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 various local user configs
med - pictures, music, videos
mnt - usb/sd mountpoints
nfs - nfs mountpoints
smb - smb mountpoints
src - external source code
tmp - desktop
gianni@lemmy.ca · 28 pts · 1y

This is pure insanity. Chaos.

sntx@lemm.ee · 1 pts · 1y

Fascinating idea!

treadful@lemmy.zip · 2 pts · 1y

Same. Short and sweet.

aleats@lemmy.blahaj.zone · 17 pts · 1y

~/src/

Simple, effective, doesn't make my home folder any more of a mess than I already left it as.

theshatterstone54@feddit.uk · 16 pts · 1y

~/Projects

0x0@programming.dev · 11 pts · 1y

${HOME}/repos

mbirth@lemmy.ml · 10 pts · 1y (5 replies)

Same, but by language, e.g. Development/Python.

Telorand@reddthat.com · 9 pts · 1y (2 replies)

What if a project uses multiple languages?

Flamekebab@piefed.social · 23 pts · 1y (1 reply)

Symlink each individual file, obviously.

QuazarOmega@lemy.lol · 1 pts · 1y

Me waiting for tagging filesystems to become the standard

comfy@lemmy.ml · 4 pts · 1y (1 reply)

Thinking of the projects I work on, I don't understand the value in categorizing by language, rather than theme (~/Development/Web/, ~/Development/Games/) or just the project folders right there.

mbirth@lemmy.ml · 2 pts · 1y

Yeah, everyone has to find their own way of organising, I guess. For me, there are too many different little projects that it would get messy throwing them all in one folder. And they’re so varied that I couldn’t think of one single “theme” or topic for most of them. Nothing I would remember a week later anyways.

vhstape@lemmy.sdf.org · 10 pts · 1y

Like others, I have a folder in my home directory called "Code." Most operating systems encourage you to organize digital files by category (documents, photos, music, videos). Anything that doesn't fit into those categories gets its own new directory. This is especially important for me, as all my folders except Code are synced to NextCloud.

mike_wooskey@lemmy.thewooskeys.com · 9 pts · 1y

~/git/vendor/<gitUser>/<repo>

and

~/git/<myName>/<forge>/<user>/<repo>

Examples:

~/git/vendor/EnigmaCurry/d.rymcg.tech
~/git/mike/forgejo/mikew/myproject
~/git/mike/github/johndoe/otherProject
JustEnoughDucks@feddit.nl · 8 pts · 1y

~/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.

DasFaultier@sh.itjust.works · 7 pts · 1y

~/src/${reponame}

arality@programming.dev · 7 pts · 1y (1 reply)

~/.projects

hawdini@feddit.uk · 6 pts · 1y

Similar, but I’m not ashamed of having my projects on display, so it’s just ~/projects for me.

foster@lemmy.fosterhangdaan.com · 7 pts · 1y (4 replies)

I tend to follow this structure:

Projects
├── personal
│   └── project-name
│       ├── code
│       ├── designs
│       └── wiki
└── work
    └── project-name
        ├── code
        ├── designs
        └── wiki
Ephera@lemmy.ml · 1 pts · 1y (3 replies)

Is "code", "designs" and "wiki" here just some example files in the repo or are those sub-folders, and you only have the repo underneath code?

foster@lemmy.fosterhangdaan.com · 2 pts · 1y (2 replies)

They are the project's subfolders (outside of the Git repo):

  • code contains the source code; version-controlled with Git.
  • wiki contains documentation and also version-controlled.
  • designs contains GIMP, Inkscape or Krita save files.

This structure works for me since software projects involve more things than just the code, and you can add more subfolders according to your liking such as notes, pkgbuild (for Arch Linux), or releases.

Ephera@lemmy.ml · 2 pts · 1y (1 reply)

Ah, interesting. In my current setup, I dump the auxilliary files into a folder above the repo, but it can certainly make it a bit messy to find the repo in there then...

foster@lemmy.fosterhangdaan.com · 2 pts · 1y

I maintain a rule that all files above the repo must be inside a folder, with one exception: a README file. Including the code folder, this typically results in no more than 5 folders; the project folder itself is kept organized and uncluttered.

ColdWater@lemmy.ca · 6 pts · 1y

~/git, for projects I cloned from the web because I don't know how to code :(

2kool4idkwhat@lemdro.id · 6 pts · 1y

~/projects for things I made

~/git for things other people made

vrighter@discuss.tchncs.de · 6 pts · 1y

~/code/$LANGUAGE/$REPONAME

Blaiz0r@lemmy.ml · 5 pts · 1y

I used to use ~/devbut for years now I use ~/Workspace becaue Eclipse made me do it

muhq@discuss.tchncs.de · 5 pts · 1y

~/code for everything I want to change/look at the source code.

~/.local/src for stuff I want to install locally from source.

amzd@lemmy.world · 5 pts · 1y

~/dev

beejjorgensen@lemmy.sdf.org · 5 pts · 1y

Most of my code and some non-code is under ~/src, but I have repos scattered all around for other things.

picandocodigo@lemmy.world · 4 pts · 1y (1 reply)

I use ~/workspace . I think I got this from when I first started using Java years ago. Eclipse created new projects in this directory by default maybe?

Disregard3145@lemmy.world · 2 pts · 1y

I do this too, maybe this explains why

Ephera@lemmy.ml · 4 pts · 1y

For a project called "Potato Peeler", I'll put it into a structure like this:

~/Projects/Tools/Potato-Peeler/potato-peeler/

Tools/ is just a rough category. Other categories are, for example, Games/ and Music/, because I also do gamedev and composing occasionally.

Then the capitalized Potato-Peeler/ folder, that's for me to drop in all kinds of project-related files, which I don't want to check into the repo.

And the lower-case potato-peeler/ folder is the repo then. Seeing other people's structures, maybe I'll rename that folder to repo/, and if I have multiple relevant repos for the Project, then make it repo-something.

I also have a folder like ~/Projects/Tools/zzz/ where I'll move dormant projects. The "zzz" sorts nicely to the bottom of the list.

drbluefall@toast.ooo · 4 pts · 1y

~/Projects/$TOPIC_OR_LANGUAGE/$PROJECT_NAME

ie.

  • ~/Projects/Web/passport.ink for a web dev project
  • ~/Projects/Minecraft/synthetic_ascension for a Minecraft mod
  • ~/Projects/C++/journalpp for a C++ library
rutrum@lm.paradisus.day · 4 pts · 1y

~/repo for code I write and ~/src for code I didnt.

Presi300@lemmy.world · 3 pts · 1y
[ removed ]
mvirts@lemmy.world · 3 pts · 1y

~/src

r00ty@kbin.life · 3 pts · 1y

/mnt/shared/Development or E:\Development depending on which operating system is running.

Not in home mainly because I use the same directory in windows and Linux.

leisesprecher@feddit.org · 2 pts · 1y

Usually ~/devel/

On my work laptop I have separate subdirs for each project and basically try to mirror the Gitlab group/project structure because some fucktards like to split every project into 20 repos.

samwwwblack@lemm.ee · 2 pts · 1y

~/code/git/<org name>/<project>

Mostly a holdover from when I regularly pulled svn/hg/cvs repos and needed reminding what tool to use for which project.

No idea why I still do it.

nzeayn@lemmy.world · 2 pts · 1y

/mnt/external_ssd_1/git_repos/reponame

i trust my workstations os to still be working in the morning as much as i trust the chances i even published the stupid branch after making it.

abrahambelch@programming.dev · 2 pts · 1y

Same here!

boredsquirrel@slrpnk.net · 2 pts · 1y

~/Git

DieserTypMatthias@lemmy.ml · 2 pts · 1y

XDG Documents folder

donio@lemmy.world · 2 pts · 1y

Any naming convention is fine as long as it's meaningful to you. But it's a good idea to keep your own repos separate from the random ones you clone from the internet.

vinnymac@lemmy.world · 1 pts · 1y

~/sites

I have always used it. I liked how it was easy to find in the home directory amongst other folders. Then under that I have a folder for every organization, including myself, and repositories live in those folders.

poinck@lemm.ee · 1 pts · 1y

~/gits

Documentation is usually a doc folder inside the repo or just a README.md for small projects.

simonced@lemmy.one · 1 pts · 1y

Like some other ppl here, I clone everything in a git folder under my home directory.

PseudoSpock@lemmy.dbzer0.com · 1 pts · 1y

~/Source

Strit@lemmy.linuxuserspace.show · 1 pts · 1y

~/git/AUR|dev|whatever/$(git clone) is where mine usually reside.

tiny@midwest.social · 1 pts · 1y

~/repos

utopiah@lemmy.ml · 1 pts · 1y

~/Prototypes on pretty much all machines I own, from desktop, laptop, server, tablets, ebook readers, RPis, XR headset, video projector, etc.

hyacin@lemmy.ml · 1 pts · 1y

Personal?

~

My homedir is a HUGE MESS.

Work?

~/src///

i.e. ~/src/github/mirantis/docker (not real I don't imagine, just an example)

~/src/bitbucket/INTERNALPROJECTCODE/coolrepo

QuazarOmega@lemy.lol · 1 pts · 1y

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

lengau@midwest.social · 1 pts · 1y

Personal stuff goes in ~/Projects

Work stuff goes in ~/Work/Code

RoyaltyInTraining@lemmy.world · 1 pts · 1y (1 reply)

Same! I also have a separate directory for college assignments and stuff. Gonna set up separate gitconfigs for both soon, so there is a smaller chance of mixing up my credentials

data1701d@startrek.website · 1 pts · 1y

Usually, I throw college assignments in a folder under documents.

mr_satan@monyet.cc · 1 pts · 1y

C:\repos or ~/repos

drathvedro@lemm.ee · 1 pts · 1y

~/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.

EuCaue@lemmy.ml · 1 pts · 1y

~/Code for coding/dev stuff and ~/gitclone for things that i random clone for some reason. =D

micro@programming.dev · 1 pts · 1y

~/source

CherryCyclone@lemmy.world · 1 pts · 1y

$HOME/Code///

I use ghq to manage cloning to get this desired structure

sntx@lemm.ee · 1 pts · 1y

~/Documents/projects/<YYYY>-<MM>-<DD>_<name>

jjlinux@lemmy.ml · 1 pts · 1y (4 replies)
QuazarOmega@lemy.lol · 3 pts · 1y (2 replies)

Don't worry, the basics are really easy to git get 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

jjlinux@lemmy.ml · 2 pts · 1y (1 reply)

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.

QuazarOmega@lemy.lol · 2 pts · 1y

Good luck! It can get complicated so I know how you feel looking at weird configurations that do magic

savedbythezsh@sh.itjust.works · 2 pts · 1y

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.

CalcProgrammer1@lemmy.today · 0 pts · 1y

On Linux I usually just keep them in my home directory because I'm lazy. On Windows though I usually do C:\git\ or D:\git\ if I have a second drive.

Feathercrown@lemmy.world · 0 pts · 1y

Unfortunately I'm still on windows, so [User]/Documents/Projects/*

Hawke@lemmy.world · 0 pts · 1y

~/Dokumentujo/git

shasta@lemm.ee · 0 pts · 1y

/tmp

k4j8@lemmy.world · 0 pts · 1y

~/github/ and ~/gitea/

Kualk@lemm.ee · -1 pts · 1y

~/projs

I like ~/w or ~/p options