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?
I tend to follow this structure:
Projects ├── personal │ └── project-name │ ├── code │ ├── designs │ └── wiki └── work └── project-name ├── code ├── designs └── wiki
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
?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), orreleases
.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…
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.
~/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.
~/Git
I use ~/w for “Work” and less typing
Same, but by language, e.g.
Development/Python
.What if a project uses multiple languages?
Symlink each individual file, obviously.
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.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.
For my personal projects I use ~/dev/projects/
For clones I use ~/dev/clones
My audio engineering stuff is at ~/audio/{samples, plugins, projects, templates}
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.
~/code
for everything I want to change/look at the source code.~/.local/src
for stuff I want to install locally from source.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.
All over the place…
I used to use
~/dev
but for years now I use~/Workspace
becaue Eclipse made me do it${HOME}/repos
~/workspace/git
That way I can also keep other stuff there.
I have a Code, simulations, ECAD, and FreeCAD folder in there 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.
XDG Documents folder
~/src/${reponame}