There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

programmer_humor

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

AVincentInSpace , (edited ) in Manager: This task only takes 30 minutes. Why did it take you the whole day?

Every time I commit I have to look through git diff, figure out what the hell I actually did, come up with something intelligent to say about jt, possibly split the commit into multiple commits if I changed multiple things, do some shuffling with git reset and git add

For some reason all my personal projects are all like 4K SLoC with 50 total commits, all of which include apologies for not doing more smaller commits

Anticorp ,

There’s a bigger issue than your commit message if you don’t even know what you just coded and are committing.

AVincentInSpace , (edited )

You see, sometimes I code something, go to bed before finishing it, come back, decide not to commit because then I’d have to think of a commit message and I just want to code, start working on an unrelated feature, do that for a couple days, get distracted by life stuff and put the project down for a few weeks/months, rinse and repeat, and then I finally get around to writing a commit message because I’m about to start a huge change and I want a restore point and I’m like. Okay, it’s been like 3 months since my last commit, I’m pretty sure my code can now do something it couldn’t 3 months ago but come on, I can’t even remember what I had for lunch last Thursday

I’m well aware this is terrible practice but I don’t know how to stop doing it

dukk ,

Commit more often. Maybe work in a different feature branch, and don’t be afraid to commit your half-working crappy code. If it’s a personal project/fork, it’s totally acceptable to commit often with bad commit names and small unfinished changes: you can always amend/squash the commits later. That’s how I tend to work: create a new branch, work on the feature, rebase and merge (fast forward, no merge commit). Also, maybe don’t jump around working on random features :P

AVincentInSpace , (edited )

but…but new feature shiny

Fr tho this is all excellent advice

ExtraMedicated ,

Jumping around to random features is how my ADHD brain works most efficiently.

Slotos ,

Good news, TDD is methylphenidate of software development!

Anticorp ,

You can help yourself a lot here by making commits every time you make a meaningful change. A feature doesn’t need to be complete to commit major checkpoints along the path to completion. That’s what feature branches are for. Commit often. It’ll help you think of messages, and it’ll help you recover in the case of catastrophe.

adrian783 ,

you can setup a on-save script to force you to commit when the number of changes is greater than a certain number from the previous commit.

akkajdh999 ,

I just get too excited about actually implementing/fixing something (random things that I see along the way) more than commit ceremony (nobody will care about it in my project anyway other than one random guy who gave the repo a star)

oce ,
@oce@jlai.lu avatar

Nah, I’m that guy, I gave your repo a star for the effort, but I’m not reading your history.

adrian783 ,

it means you commit too infrequently. your commit messages should be able to describe what u just did within 10 words.

PixxlMan ,

I spend much time splitting them up inside visual studio by file and individual lines changed to try and separate my many simultaneous changes into several somewhat usable commits. If I was stupid enough to make some big refactor at the same time I might just have to throw in the towel… It’s really painful after a few weeks to try and pick up the pieces of what I was doing but never commited too lol.

PoolloverNathan ,

^psst,^ ^git^ ^add^ ^-p^

etchinghillside ,

Remind me what -p does.

Edit: never mind - I see it mentioned below.

PoolloverNathan ,

Patch add - it shows you particular changes you made, and you choose whether or not to include them in the commit. (You can then use git stash -k to stash only the changes you did not add, so you can test before you commit.)

Flyberius , in Manager: This task only takes 30 minutes. Why did it take you the whole day?
@Flyberius@hexbear.net avatar

Me trying to find ways around using the word “and” in the commit message.

aes ,

git commit -m “directory_x:file_i.so: did x, y, and z; directory_x:file_ii.so: fixed t”

syd , in Manager: This task only takes 30 minutes. Why did it take you the whole day?
@syd@lemy.lol avatar

I’m using Copilot for it right now. It works on half of the cases.

mdurell ,

That’s about 300% better than my average!

aes , in Manager: This task only takes 30 minutes. Why did it take you the whole day?

Psst,

git add -p

Johanno ,

What does this?

foxymulder ,
@foxymulder@lemmy.ml avatar

“patch mode” - Patch mode allows you to stage parts of a changed file, instead of the entire file. This allows you to make concise, well-crafted commits that make for an easier to read history.

pomodoro_longbreak ,
@pomodoro_longbreak@sh.itjust.works avatar

Highly recommend throwing –patch on any git commands you’re used to using. You will have the prettiest, most atomic fkn commit, I’m serious people will love you for it.

I mean many people won’t care, but the quality folk will notice and approve.

oce ,
@oce@jlai.lu avatar

Or just use a good IDE that makes doing atomic commits pretty natural.

pomodoro_longbreak ,
@pomodoro_longbreak@sh.itjust.works avatar

I’ve only tried the VS code hunk stager thing, and found it cumbersome compared to command line, but if you can make a GUI work for you ya go for it. I’ve never found it worth the trouble personally

dukk ,

Shout out to Lazygit for letting me stage individual lines

pomodoro_longbreak ,
@pomodoro_longbreak@sh.itjust.works avatar

Looks pretty neat. I like that it shows the commands it’s issuing!

oce ,
@oce@jlai.lu avatar

You should try the JetBrains IDEs, as the other said, you can pick changes line by line graphically, when you commit, when you do a diff with another branch or when you fix conflicts. It’s much more convenient than commands and terminal text editors.

Johanno ,

We make a singular commit per feature.

pomodoro_longbreak ,
@pomodoro_longbreak@sh.itjust.works avatar

Trunk based, eh? Yeah, we do that on a couple teams where I’m at, too. I like the philosophy, but force pushing the same commit over and over as you’re incorporating review feedback is antisocial, especially when you’ve got devs trying to test your changes out on their machines.

Omgpwnies ,

eh, just squash and merge. Feature branch can be messy as long as main is clean

Johanno ,

Yep. You have to make sure your feature branch works.

KairuByte ,
@KairuByte@lemmy.dbzer0.com avatar

I always find this hard to follow personally.

AnarchistArtificer ,

Yay, learning!

dukk ,

Better yet, git commit -p

sip ,

uuuuuuuu. and you could do -m to describe the commit.

next they’ll add --push/-P.

perhaps add -r for fetch/rebase then commit.

one command to rule them all! 😈

crackajack , in Manager: This task only takes 30 minutes. Why did it take you the whole day?

That’s in any bloody workplace! Especially if there is o synergy between different teams.

Oha , in 1 follower on GitHub = 1000 followers on other platforms 😅

github ≠ Social Media

hypnotic_nerd OP ,
@hypnotic_nerd@programming.dev avatar

So is the twitter 😅

sabreW4K3 ,
@sabreW4K3@lemmy.tf avatar

!=

CarbonScored , in Manager: This task only takes 30 minutes. Why did it take you the whole day?
@CarbonScored@hexbear.net avatar

Forward three hours, me using thesaurus.com to try fit the whole gist of my change into the first line.

rustydrd , in Manager: This task only takes 30 minutes. Why did it take you the whole day?
@rustydrd@sh.itjust.works avatar

“blah”

Looboer , in Manager: This task only takes 30 minutes. Why did it take you the whole day?

Just use What The Commit.

You can also create a git alias:

git config --global alias.yolo ‘!git add -A && git commit -m “$(curl --silent --fail whatthecommit.com/index.txt)”’

Now you can just type ‘git yolo’ to create a commit!

hypnotic_nerd OP ,
@hypnotic_nerd@programming.dev avatar

Well such an informative reply! Thanks mate 👍

ikidd ,
@ikidd@lemmy.world avatar

Full send.

Olgratin_Magmatoe ,

“Make Sure You Are Square With Your God Before Trying To Merge This”

MajorHavoc ,

Well that’s about half my commit messages that are going to be nonsense on weekends projects, now. Thank you!

hakunawazo ,

“Chuck Norris Emailed Me This Patch… I’m Not Going To Question It”

_dev_null ,
@_dev_null@lemmy.zxcvn.xyz avatar

My first script ever was written in lua for a world of warcraft macro to spit out chuck norris one liners. People in the barrens hated me.

jungle ,

Thanks for that, I’ve been laughing like a little kid:

“hoo boy”

“lol”

“Become a programmer, they said. It’ll be fun, they said.”

I can feel those so well! :')

Anders429 , in 1 follower on GitHub = 1000 followers on other platforms 😅

I don’t really get why we need social media elements in GitHub at all

MajorHavoc ,

Yeah. I don’t know if the ‘follow’ piece does anything useful for anyone.

But as a professional developer, I have found that my GitHub account now prevents me from getting asked FizzBuzz at interviews. So whichever bit is causing that nonsense to stop, I hope they keep.

kubica , in 1 follower on GitHub = 1000 followers on other platforms 😅
@kubica@kbin.social avatar

I want to follow commits not tweets.

skyline , in Rust's static linter is called "Clippy" for a reason.
@skyline@programming.dev avatar

There is no way.

umbraroze OP ,
@umbraroze@kbin.social avatar

It's a thing! Sadly it won't rewrite Haskell codebases for you, though.

baseless_discourse , in Rust's static linter is called "Clippy" for a reason.

Every monad is a monoid in the category of endofunctors, it is literally the definition of monad. But what do you expect from clippy…

umbraroze OP ,
@umbraroze@kbin.social avatar

Yeah, the thing is, "a monad is a monoid in the category of endofunctors" is kind of a meme among non-Haskell developers. Personally, I think Haskell is a very interesting language. The mathematical jargon, however, is impenetrable, and this particular expression is kind of the poster child. I'mma go look at Erlang if I want my functional language fix without making my head hurt, thank ye very much.

synae ,
@synae@lemmy.sdf.org avatar

Erlang fucks, haskell is the nerd in the corner at the party crying “they don’t know about my mathematical purity”

pkill ,

Haskell’s got better type system tho

1rre ,

OCaml has an equally good type system without being pretentious about it

Pacmanlives , in Manager: This task only takes 30 minutes. Why did it take you the whole day?

git commit -m “changed somethings “

git push origin master

jelloeater85 ,
@jelloeater85@lemmy.world avatar

Do you always have to do origin master? I’ve seen it where sometimes just git push works and other times not.

Meowoem ,

I think it depends what branch your local version of the repo is set to. If you’re already in master then it’ll push there, if you’re in a testing branch then you can push it straight to master instead by telling it to

jelloeater85 ,
@jelloeater85@lemmy.world avatar

I just meant it not auto creating a new matching named branch.

adrian783 ,

uh in any actual company you almost never push to origin master. so I think it’s a joke.

MajorHavoc ,

Not with that attitude! /s

jelloeater85 ,
@jelloeater85@lemmy.world avatar

Force push Fridays!

Valmond ,

Depends on the configuration right?

You can work on your branch and then push that to integration for example.

I mean you’re not working on your local master/main branch right?

herrvogel ,

In most actually companies you can try push to origin master, but it’ll likely get rejected by the repo’s security policies.

TheUncannyObserver ,

That’s part of the joke, I think. If it’s a repo more than just you use, you would almost never push directly to the main branch.

zcoyle ,

where it Just Works, the branch is set up to track a remote branch

git-scm.com/book/…/Git-Branching-Remote-Branches

MajorHavoc ,

I was being more evil than that, saying that if one is gonna push direct to main, might as well maximize the possible damage to everyone else’s branch.

jelloeater85 ,
@jelloeater85@lemmy.world avatar

Lol why not just delete the whole project from GitHub… I mean, everyone has a copy, right?😱

Valmond ,

push origin your/branch

Pushes, you guessed it, your/branch!

Head is usually your checked out working branch if you’re not in a headless state, right?

jelloeater85 ,
@jelloeater85@lemmy.world avatar

Force push main, straight to jail🤣

Yup yup, usually you’re on a branch, sometimes a tag. I mean it’s all just pointers to references at the end of the day. I tend to treat Git like a story book, some folks still act like it’s SVN.

sloppy_diffuser ,
jelloeater85 ,
@jelloeater85@lemmy.world avatar

I tired that, still was having issues, weeeird.

MajorHavoc ,

You forgot this –force flag.

Valmond ,

I’m too lazy, I use -f

paul , in Manager: This task only takes 30 minutes. Why did it take you the whole day?

do git commit -v and then just summarize the diff you have in your editor in a human readable form.

KeepFlying ,

Don’t just summarize the content though, summarize the rationale or how things connect. I can read your diff myself to see what changed, I want to know the logical connections, the reason you did X and not Y, etc.

Or just say “stuff” and provide that context in the PR description separately, no need to overdo the commit log on a feature branch if you’re using squash merges from your PR.

deadbeef79000 ,

P1000x this.

I can read a diff.

I need to know why.

No, a code comment isn’t good enough, it’s out of date after the next commit.

KeepFlying ,

Code comments for "why"s that persist. Commits for why’s that are temporary.

If you need to run X before Y, add a comment. If you added X before why because it was easier, leave it in a commit

deadbeef79000 ,

If you need to run X before Y…

Add a test that asserts that.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines