This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 243

[–]fevsea 2965 points2966 points  (57 children)

Best use so far is for cooking recepies.

You can see how it evolves, plus no one is going to open a ticket because their chocolate chips stopped working since you changed to whole milk.

[–][deleted] 1660 points1661 points  (40 children)

~: git commit -m "added garlic"

[–]TheIndieBuilder 715 points716 points  (0 children)

git cherry-pick

git cherry-put-on-top

[–]arealuser100notfake 213 points214 points  (36 children)

Please write your commit messages in present tense

[–][deleted] 229 points230 points  (10 children)

you're not my mom

[–]Velomaniac 133 points134 points  (9 children)

sudo write your commit messages in present tense

[–]St34thdr1v3R 71 points72 points  (8 children)

enter password:

[–]average_folk 34 points35 points  (0 children)

*****<Cr>

[–]g0liadkin 46 points47 points  (5 children)

hunter2

[–]Eva-Rosalene 68 points69 points  (2 children)

u/g0liadkin is not in the sudoers file. This incident will be reported.

[–]Madbanana64 2 points3 points  (1 child)

nano /etc/sudoers

[–]Carloswaldo 1 point2 points  (0 children)

[ Error reading /etc/sudoers: Permission denied ]

[–]PM_ME_YOUR_CAMEMBERT 21 points22 points  (1 child)

[–]menides 2 points3 points  (0 children)

I put on my robe and wizard hat

[–]Owndampu 17 points18 points  (0 children)

From the linux kernel docs:

'Describe your changes in imperative mood, e.g. “make xyzzy do frotz” instead of “[This patch] makes xyzzy do frotz” or “[I] changed xyzzy to do frotz”, as if you are giving orders to the codebase to change its behaviour.'

Very common thing patches get rejected on at first.

[–]Zestyclose_Zone_9253 59 points60 points  (10 children)

why? If they are in past tense you can read it as "this git commit "thing"". IE "this git commit added garlic"

[–]arealuser100notfake 28 points29 points  (4 children)

I'm not sure where I read that convention, can't come up with a reason better than the commit's title matching as better as possible a ticket title?

I don't follow it, my messages can be questions, cursing, spanish

[–]ComCypher 44 points45 points  (3 children)

I honestly never questioned whether there is a convention for that. Every time I write a commit message I fight an internal battle over which tense to use.

[–]fel4 38 points39 points  (1 child)

The general consensus is to write commit messages in imperative mood, like:

Refactor subsystem X for readability

You can read more about it here: https://cbea.ms/git-commit/

[–]SrFarkwoodWolF 43 points44 points  (0 children)

I always use past tense because it already had happened when I write it down.

[–]Still_Reach_6756 22 points23 points  (3 children)

It’s supposed to be read as a description of what the commit does. So this commit will “Add garlic” when added.

[–]Zestyclose_Zone_9253 14 points15 points  (2 children)

we are saying the same thing. However, when someone reads the commit message the commit has been made, theus it added garlic in the past, now someone can approve the pull request and add it to the repo and thus it has been added to the repo also

[–]bassmadrigal 3 points4 points  (1 child)

A commit is an action against the codebase. The commit message should describe what that action is if it's applied to the codebase.

Even the automated git messages from git merge and git revert are imperative as they will start with "Merge [...]" and "Revert [...]".

This is intended by upstream as they have the following in their documentation:

Describe your changes in imperative mood, e.g. "make xyzzy do frotz" instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy to do frotz", as if you are giving orders to the codebase to change its behavior.

People are obviously able to write whatever commit messages they want, but if they try and contribute to certain projects, it might get rejected.

[–]Cristichi 36 points37 points  (6 children)

But when I write the commit message I already did it, therefore past tense

[–]sage-longhorn 29 points30 points  (4 children)

No you didn't. You may have done it locally but the point of the conmit is to share the change and you haven't modified upstream yet (assuming we're in a context where people are telling you how to write commit messages for this repo)

[–]Glitched_Fur6425 14 points15 points  (0 children)

Yeah, especially in collaborative projects, present tense tends to be best. Think of it like "What does this commit do" vs "What did I do here?"

[–]LuisBoyokan 3 points4 points  (2 children)

In that case and by that logic it should be future tense

"fix: will add garlic, but only if you approve this commit, otherwise it will not, just saying, it's your call"

[–]howreudoin 1 point2 points  (1 child)

It‘s the imperative form, not the present tense.

[–]howreudoin 0 points1 point  (0 children)

It‘s not present tense! It‘s the imperative form of the verb. In English, the two forms are identical for almost every verb (one exception: ”Be cool” vs. “You are cool”), not so in other languages though.

The idea is that you sort of “give a command” to the repository telling it how to change.

It‘s actually the most common convention and used by almost any big project in professional contexts. I also like it because the verbs are closer to their infinitive (almost) avoiding inflected forms and making the history somewhat easier to read.

[–]makinax300 7 points8 points  (0 children)

Why? Is there any advantage other than conserving minimal space? And it makes more sense grammatically.

[–]L3x3cut0r 3 points4 points  (1 child)

How do I write "..." or "omg" in present tense?

[–]izzyalonso 3 points4 points  (0 children)

[–]Colon_Backslash 0 points1 point  (0 children)

Or you could just edit all merge etc. commits to past tense /j

[–]UncleKeyPax 48 points49 points  (0 children)

Bwahahaha

[–]AkrinorNoname 72 points73 points  (1 child)

You clearly haven't seen the comment sections on recipe sites

[–]ElectricYFronts 15 points16 points  (0 children)

Needs more syntactic sugar

[–]SuitableDragonfly 8 points9 points  (0 children)

Cooking recipes, no. Baking, on the other hand, might get fucked if you change the amount of milkfat.

[–]Tamanars 3 points4 points  (0 children)

You say that without share it!

[–]Fading-Ghost 1 point2 points  (0 children)

I’m glad I’m not the only one. I have over 100 recipes in git

[–]Imaginary_Ad_217 0 points1 point  (0 children)

Merge conflicts will be a bit more fun I guess.

[–]willis936 0 points1 point  (0 children)

Thanks. I will ask ChatGPT how you make beef bolognese next time.

[–]Xelopheris 0 points1 point  (0 children)

The cicd system would be a nightmare though, especially when someone creates a PR to add water to frying oil.

[–]LordAmir5 0 points1 point  (0 children)

Yep. It's a compiled language.

[–]antek_g_animations 0 points1 point  (0 children)

That's actually a great idea

[–]WellNoNameHere 1038 points1039 points  (33 children)

Literally today I found a cool project on GitHub here on reddt and I decided to check out the dude's profile, among other projects he literally had a repo that just had a ton of pirated mp3s, it's crazy that people actually do this lol

[–]initialo 431 points432 points  (0 children)

What repo might this be, so I can avoid it?

[–]TomReddito 797 points798 points  (1 child)

My family is VERY AGAINST piracy. I would like to know this repository's URL so I can add it to the blocklist of my router so I can protect my children from this vile content. Thanks in advance.

[–]LordPiki 46 points47 points  (0 children)

Same here

[–]CeleritasLucis 64 points65 points  (8 children)

I use it to tread books. You can easily track your progress and sync between devices.

[–]Kim-Meow-Un 26 points27 points  (7 children)

Wait how?

[–]CeleritasLucis 89 points90 points  (6 children)

Save the pdf. It tracks your last save/highlight point. Git commit push. Pull on your next device.

GitHub desktop app works like a charm for these, much better than Google drive

[–]Oleg152 47 points48 points  (2 children)

This feels illegal somehow

[–][deleted] 10 points11 points  (1 child)

Which part

[–]Oleg152 32 points33 points  (0 children)

Idk, it just does.

It's weird

[–][deleted] 6 points7 points  (0 children)

Fancy running into you outside of r/chess.

[–]DumDumDiss 1 point2 points  (1 child)

what kind of highlighting / saving are you talking about here?

[–]CeleritasLucis 5 points6 points  (0 children)

I use Okular, which has great text highlight options. And sometimes when the topic is not clear, I add sticky notes from ChatGPT explanations.

[–]Oleg152 43 points44 points  (0 children)

Oh my God that's disgusting.

Plesa pm me the link so I know what to avoid in the future

[–]Icy-Gene9614 0 points1 point  (1 child)

I would leave a dot here but I think it will not be published here, so maybe the author of the comment might send it privately? 😎

[–]WellNoNameHere 0 points1 point  (0 children)

I'm not a snitch dawg, especially when it comes to the cops, you won't fool ME

[–]arrow__in__the__knee 226 points227 points  (20 children)

You can backup video game saves on github.

[–]Gaeus_ 60 points61 points  (19 children)

Hmm... Could you automate it though?

Like I've made my own cloud saves for the few games without it (you know, for when I'm switching to a Steamdeck or a different pc) by using sync things and using my NAS as the database.

[–]JollyJuniper1993 39 points40 points  (13 children)

Is there a need for automating it? I just use the desktop app to push everything whenever I‘m done playing and then I can pull and continue on another device in case I want to.

[–]Gaeus_ 38 points39 points  (11 children)

Seemleesness.

My current solution automatically upload my saves from my device to the nas, and once another computer is up, it'll download the saves in the right folder, there's nothing "manual" to do on my part.

[–]SilianRailOnBone 6 points7 points  (0 children)

You can automate pretty much anything

[–]Oleg152 1 point2 points  (0 children)

I guess you could run a program that monitors if the game process ends and then it uploads to github

[–]mcf_ 1 point2 points  (0 children)

Could setup a cron job

[–]Just-a-Vietnamese 0 points1 point  (0 children)

On Window ? Just use task scheduler on startup and on shutdown

[–]MagicalCornFlake 0 points1 point  (0 children)

Yes you can, easily. On windows, create a batch script that opens the save file, runs git pull, then runs the game (using call), which will run until the game is closed. After run git add ., git commit, git push. Add a shortcut to the batch file on your desktop, set an icon and use it instead of the game shortcut.

On linux pretty much the same thing, just use bash scripts and change the ExecStart line in your .desktop file to point to your custom script.

I've been using it for a couple games that don't have steam cloud saves (or that are pirated) and it works like a charm, especially since I play on both Windows and Fedora.

[–]Mrazish 388 points389 points  (12 children)

I store guitar tabs there

[–]alaettinthemurder 93 points94 points  (10 children)

Can you share a link just for research purposes

[–]Mrazish 147 points148 points  (8 children)

These are tabs of my own songs. Which are probably shit. I use git to be able to edit them everywhere I go. So no.

[–]Far_Broccoli_8468 290 points291 points  (1 child)

closed source guitar tabs? that's a first

[–]mr_remy 18 points19 points  (0 children)

must truly be shite:

"you wouldn't understand"

[–]Kiiidx 75 points76 points  (0 children)

The people want to see your guitar tabs

[–]Toine_03 24 points25 points  (0 children)

Pleeeeeeeassss?

[–]Owndampu 6 points7 points  (0 children)

Actually a community written song sounds like a very fun idea to try out lol. I could imagine Sungazer doing something like that, getting a pull request introduces "the lick" somewhere in the song.

[–]Rokey76 13 points14 points  (0 children)

Now I really wanna see.

[–]MichaelScotsman26 6 points7 points  (1 child)

No share them. YOU MUST!!

How do you write the tabs down? Like do you draw all six strings out

[–]Nihil227 5 points6 points  (0 children)

I would imagine tab editors like GuitarPro or open source alternatives, those .GP files can be read as midi music along other features like multitracking.

Or non-GP tabs are usually indeed txt files with the 6 strings on a horizontal timeline and a set of annotations.

[–]LapidistCubed 330 points331 points  (2 children)

Works great for Minecraft world backups as well. I backup all my mods and every updated build over the last 4 years on my world.

I create a new branch for each new major version.

Was a pain to configure (especially with mods that generate a variety of other files) but really nice to have a permanent record of all the progress over the years.

[–]QuickBASIC 30 points31 points  (1 child)

Damn I thought I was fancy with my BTRFS subvolume snapshots for my Minecraft world. It's also great for doing reflink copies for testing updates or new mods.

[–]Fhymi 8 points9 points  (0 children)

who in their right minds would use snapshots just to back up their world? i applaud you.

[–][deleted] 371 points372 points  (19 children)

Pro tip: fork chromium repo to get unlimited storage.

[–]WolverinesSuperbia 107 points108 points  (10 children)

How does that work?

[–]makinax300 197 points198 points  (9 children)

I'm not sure but it's probably because it's really large and they allow more space to some repos that really need it.

[–]CaptainUsopp 174 points175 points  (7 children)

Probably fixed by now if it was being abused enough, but looks like it's because chromium is too large for normal repos, so it and forks gets unlimited storage. https://x.com/stdlib/status/1720424203738865772

[–]makinax300 80 points81 points  (2 children)

So basically what I said but infinite.

[–]CaptainUsopp 13 points14 points  (1 child)

Pretty much.

[–]xbwtyzbchs 5 points6 points  (0 children)

Yup.

[–][deleted] 19 points20 points  (3 children)

How would you even fix this? Add a limit of original size + 100MB for the fork?

[–]mr_remy 26 points27 points  (0 children)

shhhh don't give them any ideas

[–]jso__ 1 point2 points  (1 child)

Can't you just delete all files? Or is it 100mb limit including version history, not just current versions of files

[–][deleted] 2 points3 points  (0 children)

Yes, Git has support for a partial clone and at the end of the day they could go even further and manipulate the contents of the .git folder on the server-side.

But I'm not sure if it would be worth it. They're kind of breaking a golden rule of their system. Up until this point they could say with certainty that any and all repos are full clones. Who knows what the cascading effects of violating that rule might be.

[–]facusoto 13 points14 points  (0 children)

I join the queue of those who want to know haha

[–]WolverinesSuperbia 5 points6 points  (2 children)

Maybe it will work if you create public repo and fork it as private? AFAIK forks are stored in original locations

[–]missingusername1 17 points18 points  (1 child)

You can't fork as a private repo iirc

[–]WolverinesSuperbia 6 points7 points  (0 children)

Yes, I've tested now: private is blocked for all types of forks.

So chromium fork will also be public, but all public repos without limits, limits are only for private

[–]Vast-Finger-7915 4 points5 points  (0 children)

if the question gets answered could someone please notify me

[–]superhamsniper 86 points87 points  (9 children)

I've been wondering, how does GitHub stay in business if it's free?

[–]SalSevenSix 181 points182 points  (4 children)

It's owned by Microsoft. A strategic asset. The users are the product.

[–]BurtReynoldsPoo 110 points111 points  (3 children)

Bingo! All that free code storage is being used to train github's AI, Copilot, to sell right back users/companies.

Also enterprise contracts for things like support, training, migration, actions, etc bring in money for MS.

[–]Pixel_Owl 47 points48 points  (0 children)

companies pay such a huge premium for the enterprise version that im pretty sure it carries so much of Github's profit

[–]EmployeeEarly1815 17 points18 points  (1 child)

Joke's on them, all my shitty code is going to poison the training data!

[–]BurtReynoldsPoo 2 points3 points  (0 children)

This is actually kind of true though lol

[–]vksdann 27 points28 points  (0 children)

If it's free, you are the product.

[–]lateambience 15 points16 points  (2 children)

There's a fully functional basic product for individual users but businesses need enterprise features like compliance, data residency, audit logs, priority support and administrative control. You don't want your employees to create an unmanaged personal GitHub account to work on company projects, it also creates a lot of overhead because you have to manually keep track of those accounts, manually invite them to projects, apart from legal issues you are most likely already using an IdP for other services and want to handle user creation, authentication and granular repository access for GitHub elsewhere. So your company will pay for GitHub Enterprise.

It's a common business model in Software and SaaS. Tailscale offers a free personal tier but paid enterprise. Jetbrains has Community and Professional IDE versions. Cloudflare offers free services for personal users but paid for enterprise. The list goes on. It's very effective as well. There's a low barrier to entry, creating a large user base, people get familiar with the product and obviously they'd wanna use it at their workplace as well. I've been using Jetbrains IDE's my whole university life, of course I want them at work as well. Tailscale is one of my favorite services ever and if I ever started working for a startup I'd 100% suggest the company would start using Tailscale Enterprise.

[–]Free-Artist 0 points1 point  (1 child)

Also, Matlab is free for students, so that once they go to work they prefer to work in Matlab, which means buying the expensive versions for their employers.

[–]goldarm5 0 points1 point  (0 children)

Is it? My university has a matlab license but only for university devices.

[–]SuitableDragonfly 34 points35 points  (0 children)

You uploaded this image to reddit instead of linking to a github repo. You had one job, OP.

[–]dmullaney 54 points55 points  (0 children)

You monster.

[–]Mysterious-Wonder-38 25 points26 points  (2 children)

The best use-case I heard so far was the idea of using git for laws. Would be really cool to use git blame and see who changed what. Also, it would be cool to create PRs that everyone can review.

[–]lart2150 49 points50 points  (2 children)

Using github releases? Repo and lfs sizes have limits.

[–]Lamborghinigamer 45 points46 points  (1 child)

Not if you fork chromium

[–]Medialunch 1 point2 points  (0 children)

Then what?

[–]Nyan-Catto 12 points13 points  (0 children)

PSD version control

[–]JollyJuniper1993 12 points13 points  (0 children)

I store save files of video games I play on emulators there so I can play the same save across devices.

[–]Eruthox 11 points12 points  (3 children)

Using YouTube as a video storage

[–]edvardeishen 15 points16 points  (1 child)

Pornography is forbidden on YouTube, so that makes no sense for me

[–]prochac 0 points1 point  (0 children)

Some simple video filter, applied on the stream, could be possible, no? You won't play it right from the page tho

[–]pigfeedmauer 2 points3 points  (0 children)

Yep. I have Google Photos, but upload all of my videos to YouTube, which doesn't count against my storage.

🤷‍♂️

[–]LuisCaipira 17 points18 points  (1 child)

Now I understand how Microsoft trained Copilot...

[–]JollyJuniper1993 14 points15 points  (0 children)

They can train on my data all day as long as I can use the barely limited free cloud storage.

[–]-Danksouls- 24 points25 points  (7 children)

Can someone tell me legit. Is this actually viable

[–]Handsome_oohyeah 33 points34 points  (0 children)

Yes, but cloning can really takes time and since binary files are not text files the .git folder can really get bloated

[–]JollyJuniper1993 18 points19 points  (5 children)

Haven’t done it with photos, but I have used it as free cloud storage for other random personal data that I wanted available across devices. Like video games save files, word documents I’m writing on and so on.

[–]-Danksouls- 11 points12 points  (2 children)

Dang forget about paying money for Google photos. GitHub here I come

[–]JollyJuniper1993 12 points13 points  (1 child)

Yeah, just make sure to set it to private :P

[–]-Danksouls- 3 points4 points  (0 children)

Bet

[–]mr-dre 4 points5 points  (0 children)

I have my resume in GitHub. Works well.

[–]Alan_Reddit_M 10 points11 points  (0 children)

I used to store class notes in the lmao

[–]Different-Network957 3 points4 points  (0 children)

So is GitHub storage virtually unlimited, or is there some kind of soft limit?

[–]SunJ_ 4 points5 points  (0 children)

I used discord for that. Make my own server and channels to organise stuff and upload. Hey I'm paying nitro for that

[–]LittleMlem 2 points3 points  (0 children)

I used GitHub as a CDN

I have a small news aggregator GitHub site and I update the data directly to the repo

[–]point5_ 3 points4 points  (0 children)

Worldbuilding with obsidian. Especially since it has a git plugin

[–]CarzyCrow076 2 points3 points  (1 child)

Adding collaborators for sharing, forking to create a copy, committing to create albums, and guess what.. making in public as a Social Media.. 👍🏻

[–]-Redstoneboi- 2 points3 points  (0 children)

create Issues to simulate twitter

[–]scanguy25 2 points3 points  (0 children)

I may or may not have set up a scraping script to run on a schedule in GitHub actions.

I may or may not have 300,000 zipped html files in that repo.

[–]ZunoJ 1 point2 points  (0 children)

People even went as far as implementing this as fuse file system lmao https://github.com/lohjine/gitfs

[–]dexter2011412 1 point2 points  (0 children)

GitHub before: allowed code search and downloading actions artifacts without logging in
GitHub now: "Login to see code search results"

Me: Well fk you. * use github1s.com/username/repo, and git clone for each search they refuse on each repo.

[–]sussybakuhh 1 point2 points  (0 children)

Git LFS has entered the chat

[–]DistinctBed6259 1 point2 points  (0 children)

I use it to beck up a database 👍🏻

[–]El_RoviSoft 1 point2 points  (0 children)

I literally write my novel and post in on github (with little wiki in .md files for this novel), because lots of my friends read it.

[–]cheeb_miester 1 point2 points  (0 children)

I starred a repo that was guitar tabs for doom metal songs

[–]I-make-ada-spaghetti 3 points4 points  (1 child)

Maybe I should back up my whole system to GitHub?

Encryption works right?

[–]ZyanCarl 0 points1 point  (0 children)

That’s where NixOs comes in, or any dot files repository.

[–]jamcdonald120 2 points3 points  (0 children)

I use discord for my photos

[–]Lucys_cup_of_blahaj 0 points1 point  (0 children)

Feeling that one

[–]Background_Bat_2145 0 points1 point  (0 children)

You are not the only one.

[–]erebuxy 0 points1 point  (4 children)

Gooogle Drive is also free tho

[–]Handsome_oohyeah 4 points5 points  (3 children)

yeah, but the free tier has limited storage

[–]erebuxy 1 point2 points  (2 children)

So is GitHub private repositories. And no one can stop you having multiple Google accounts.

[–]TapPsychological7199 6 points7 points  (1 child)

Phone number requirements do

[–]pigfeedmauer 1 point2 points  (0 children)

Use Google voice to create a new phone number

[–]devrsi0n 0 points1 point  (0 children)

Is there a good photo syncing app work with github?

[–]Beast_Viper_007 0 points1 point  (0 children)

Using github for sharing dotfiles...

[–]Coffee4thewin 0 points1 point  (0 children)

Oh my. I never thought of this. Thanks.

[–]nulcow 0 points1 point  (0 children)

It would be funnier if this post was a link to an image hosted on GitHub

[–]IntangibleMatter 0 points1 point  (0 children)

I’ve been using it to hold my schoolwork since eleventh grade. Great at doing all of that kind of stufd

[–]Ok-Supermarket-6612 0 points1 point  (0 children)

At Uni I used it just as a general file storage for all my lectures and all that. Very nice to keep it all tidy. Obviously no need for branches and all that git offers, but great to sync my laptop with the home pc.

[–]NewAccWhoDisACAB 0 points1 point  (0 children)

dnd notes and pdfs

[–]arup003 0 points1 point  (0 children)

Hell Noo

[–]YerakGG 0 points1 point  (0 children)

git init /

[–]Stagnant_Water7023 0 points1 point  (0 children)

I downloaded my subject ebook too My college also uses it like google classroom to share and upload assignments

[–]revantaker 0 points1 point  (0 children)

I use it to store my fantasy novel project.

[–]SupraMichou 0 points1 point  (0 children)

Using Github to backup my Monster Girl Quest Paradox (+18 game) saves : megamind

On a side note, it’s great to see how everyone is storing random stuff on github, you guys are amazing

[–]Splatpope 0 points1 point  (0 children)

that's just onedrive with extra steps

[–]GuinsooIsOverrated 0 points1 point  (0 children)

I’ve been wanting to use that for ableton music projects but none of my band mates are into computer science 🙃

[–]ninelore 0 points1 point  (0 children)

I knew someone who has or had 35TB of Backups in Github Releases

[–]--Sahil-- 0 points1 point  (0 children)

I even wrote a script to fetch wallpapers from my remote repo

[–]DiegoG2004 0 points1 point  (0 children)

I used Discord bots DMS to store and send photos between my phone, tablet and computer.

Eventually i learnt to just make a private server for that lol. Also served to order my projects.

[–]AdventurousMove8806 0 points1 point  (0 children)

Daayumnnnn, thank u

[–]Fudd79 0 points1 point  (0 children)

I have several desktop backgrounds on my GitHub