Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "git gud"
"Don't use git, it is too complicated and we don't have time for this."
2 days later the same person made changes directly on the FTP which I later unknowingly overwrote.
Take that you imbecile!13
A : "Dude, have you tried vim? It sucks!"
B: "I know right, why do they have to make it so hard to use..."
Me whispering : Git Gud Boi...10
My fellow coworker's commit history of last 24 hours. And my boss was surprised when I told him I'm leaving the company..18
Guy from work: "I have a messy coding style ¯\_(ツ)_/¯".
No, you have a bad coding style. Your repetitive uncommented spaghetti code isn't an artistic expression of your quick imaginative mind jumping from thought to thought. It's a horrible mess that shows me that either you can't do any better or you don't care.8
You can hate me: as a 34 year old php developer, i've never used git in my workflow...
I plan to start today using it on one of my personal project (only because i have arrived at "backup-49.rar")(yes i develop on windows).
I really fucking loathe StackExchange. Some poor soul had the nerve (THE NERVE!) to ask a question about something they didn't understand (HOW DARE THEY!):
"What is the difference between a ping and a get request? The goal is to see if the site is up."
And par for the course over at smarmy-fucking-smug-pedant-land, in less than three hours, the question was closed: "[C]losed as not a real question... It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form.
Allow me to indulge in some pedantic, "well actually" fuckery of my own...
Well actually, that actually is a 'real' question, because it's, you know, a fucking question. There's a question mark in there and everything! The person is asking what the difference is between two different things, and we can tell it's actually two different things because the person uses two different fucking nouns. And not only is this person asking to know what the difference is between these two different things, they even give us a use-case for why they're asking the question: they're pretty sure that they think they might know there's at least two different ways to check that their website is up, they just want to know what the difference is between those two methods -- hence the two different fucking nouns. It's almost like they're trying to give us some contextual information about why they're asking so that even if there is some vagueness to their question -- which is bound to happen IF YOU KNOW YOU DON'T KNOW EVERYTHING ABOUT THE SUBJECT, WHICH IS PROBABLY WHY YOU'RE FUCKING ASKING -- then a reasonable, decent, helpful person who is making a good-faith effort to be helpful can infer from that context enough information that clarifies the question enough to remove any vagueness or ambiguity and thus provide a helpful answer. AND THAT'S WHAT FUCKING HAPPENED!
And what just fucking galls me to no end... the question was answered (SUCCINTLY, INFORMATIVELY, SIMPLY, AND CORRECTLY!) and even marked as accepted in less than fifteen minutes after being asked.
And that didn't stop some smug fuck from being an asshole and closing the question because "fucking scrub noobfags need to git gud."
If MySpace was a place for friends,
then StackExchange is the place for insufferably elitist smug cunts.4
Some devs like to write meaningless or too general commit messages.
Stop it. Get help.
Call 0800-GITGUDBOIII where real experts talk version control.10
Working on a group project for uni and this dude asks me "why would you ever use github instead of google drive?" because git gud you cunt1
I tell a colleague, "Hey, could you make your commits more meaningful? A commit message of '.' helps nobody.".
He then uses 'no message' for his commits.
Also, commits every 30 seconds. I know commit often... But is that really necessary?
One popular repository on github nowadays is this :
A repository filled with eeees .
This is excellent for anyone new to git and who needs a repo to get familiar with git.
Just make sure it's all eees XD7
You know, one of my fav ranters constantly shits on one of my main languages :P which is Java. But shit I would lie if I said that I have not learned something from what he has to say. Truth be told I am aware of the pitfalls and bad design decissions of a lot of my favorite langs: Python, PHP, JS, Java, Go etc. And I think it is benefitial to everyone to understand the things that our fav stacks fail at doing in order to become better devs.
So lets give a round of applause to those angry mofockas that make us see the shit that is wrong with what we use and learn more from each other.3
I've now for months been lurking on this awesome app and I love the community. I've been trying to self learn coding but kept hitting a wall. But now i'm starting in school to learn coding and i'm so exited to learn it and be a part of this awesome community.3
Boy was I happy to see this when I opened devRant up.
So for starters, more group projects are necessary. Many reasons why. To begin with, it allows for more complex programs than getting some input and printing some shit out. It also develops interpersonal skills (I hate people too, but when you go out to look for work you'll be with them, so better get used to it soon). If a platform like GitHub is used, it's easy to track who did what, and see what each person in the group did, so it should be fairly easy to discourage lazy asses.
Beyond that, stop giving us half completed assignments and asking us to fill in a function/method. Yes, it will take longer. But one doesn't learn to program by doing the minimum required work, you've got to crash and burn a lot in order to git gud. So ffs, let us do all the work. We're like AI, we learn through reinforcement learning.
Stop giving us a spec to follow. We'll do plenty of that in the future, right now we need to make mistakes, not be held by the hand all the way. Let us do dumb shit so you can fail us and tell us our code is repulsive, and this other way was better. Explain why. That's how people learn, not by telling us what each function should return, what can and can't be used, etc. And if you can't come up with a scenario in which what you're teaching is useful, then maybe you're not teaching us the right material.
I'll leave it at that for today... But I'll be back 😈
"Hello sir, do you have time to talk about...."
Shut the fuck up. Sit the fuck down. Name your stack. I know how to fucking work with it. If I did not select it it is because it was not the right choice. I did not spent 4 years teaching myself to code AND later on obtaining a B.S in Computer Science(another number of years) as well as obtaining industry grade experience for you to tell me what I should use.5
Less a rant and more of a rave about the Racket language.
If you haven't heard of it, Racket is a Scheme/Lisp that eases programming language development.
Let me break down why this is handy. When you come to dislike a language, it's because of limitations in the language itself or its ecosystem. That, and you are always obliged to translate your ideas to the terms of the language, the libraries in that language, and the idioms in both. Overall it starts to feel like a cage, because even if you git gud at a limited language, you still might not be able to do the things you REALLY want to do.
Lisps turn this on its head by letting you translate the solution to your terms rather than making you translate your solution to its terms. Lisps are homoiconic, which is a fancy word meaning that all valid programs in the language are also valid literal expressions of data in the same language. The code/data divide collapses and you can at any moment decide "Hey, this code I'm writing? It's data now and I'mma generate stuff with it." That's when you start getting macros and the beginnings of serious metaprogramming.
Racket made this mind-bendingly powerful. To the point that some of the language features make you gawk and say "Ok, but why anyone would ever need to do THAT?!" Some examples include converting compile-time errors to run-time errors and writing your own exception handling system.
But the kicker is that Racket is the only language I know of where you can say "You know what? Racket is sucking at this thing I want to do right now. I wish my language looked like THIS" and then you can use Racket to write your language in terms of Racket, and then your language becomes a valid extension of the Racket ecosystem. Your custom language can still import and use the rest of the ecosystem.
So, in a single Racket project, you can have a typed language, an untyped language, a configuration language and a markup language, and all of them can use the same libraries. It also means that if you have an accountant, ops manager or designer in house, you can write a little language for them that that understand and integrate their understanding of a solution with your system.
Why are relatively few using this box of magic?
Well, for one thing, it's hard. Unlike most, Racket enjoys the benefits of seriously amazing, complete and correct documentation. Which SOUNDS great, but here's a direct quote from one part of it.
"The intent of a cross-phase persistent module is to support values that are recognizable after phase crossings. For example, when a macro transformer running in phase 1 raises a syntax error as represented by an exn:fail:syntax instance, the instance is recognizable by a phase-0 exception handler wrapping a call to eval or expand that triggered the syntax error, because the exn:fail:syntax structure type is defined by a cross-phase persistent module.
A cross-phase persistent module imports only other cross-phase persistent modules, and it contains only definitions that bind variables to functions, structure types and related functions, or structure-type properties and related functions. A cross-phase persistent module never includes syntax literals (via quote-syntax) or variable references (via #%variable-reference). See Cross-Phase Persistent Module Declarations for the syntactic specification of a cross-phase persistent module declaration."
The thing is, I know a little bit about what that means. I read their introduction guide meant for people new to the language, and made enough progress in the reference to understand these terms in isolation. But when I keep running into paragraphs like THAT, I have to review everything again because I just get lost.
The other problem may be that it has the classic Lisp Curse (http://winestockwebdesign.com/Essay...), which means its power is also its greatest weakness. The power of a programming language can grow strong enough that the people who contribute to society using it rarely bother to use each other's work.
Still, Racket has a more complete and cooperative ecosystem compared to other Lisps I've observed. I'm still a total fanboi of the language and would love to get a job using it, but it's probably a long time out.
Thanks for reading. I don't have a particular desire to tell you to drop what you are doing to use it, I just think it's cool and wanted to brag on it a bit.1
Sooooo ok ok. Started my graduate program in August and thus far I have been having to handle it with working as a manager, missing 2 staff member positions at work, as well as dealing with other personal items in my life. It has been exhausting beyond belief and I would not really recommend it for people working full time always on call jobs with a family, like at a..
But one thing that keeps my hopes up is the amount of great knowledge that the professors pass to us through their lectures. Sometimes I would get upset at how highly theoretical the items are, I was expecting to see tons of code in one of the major languages used in A.I(my graduate program has a focus in AI, that is my concentration) and was really disappointed at not seeing more code really. But getting the high level overview of the concepts has been really helpful in forcing me to do extra research in order to reconnect with some of the items that I had never thought of before.
If you follow, for example, different articles or online tutorials representing doing something simple like generating a simple neural network, it sometimes escapes our mind how some of the internal concepts of the activity in question are generated, how and why and the mathematical notions that led researchers reach the conclusions they did. As developers, we are sometimes used to just not caring about how sometimes a thing would work, just as long as it works "we will get back to this later" is a common thing in most tutorials, such as when I started with Java "don't worry about what public static main means, just write it up for now, oh and don't worry about what System.out.println() is, just know that its used to output something into bla bla bla" <---- shit like that is too common and it does not escape ML tutorials.
Its hard man, to focus on understanding the inner details of such a massive field all the time, but truly worth it. And if you do find yourself considering the need for higher education or not, well its more of a personal choice really. There are some very talented people that learn a lot on their own, but having the proper guidance of a body of highly trained industry professionals is always nice, my professors take the time to deal with the students on such a personal level that concepts get acquired faster, everyone in class is an engineer with years of experience, thus having people talk to us at that level is much appreciated and accelerates the process of being educated.
Basically what I am trying to say is that being exposed to different methodologies and theoretical concepts helps a lot for building intuition, specially when you literally have no other option but to git gud. And school is what you make of it, but certainly never a waste.2
Disclaimer: I am an assclown who makes cobbles shit together and doesn't have a strong/real foundational understanding in the shit I deal with.
So does anybody actually write their tests before they write their code? I see the term TDD (test driven development) bandied around everywhere.
I don't know what the fuck I'm doing or what the solution will be, nor am I confident in it until I've manually tested it seems to be working.
Then I usually write the automated tests if they are easy to do so.
i.e. I won't know what/how to test the thing.....until I make the damn thing
Is this a case of 'git gud' and have the problem "presolved" in your head, before you work on it such that you can already write tests first?
Or is this a case of "aGilE", where everybody says they're agile, maybe does a little bit of scrum (just the pieces they like/find useful, not the entire thing in a dogmatic/religious way), and possibly has never heard of the manifesto https://agilemanifesto.org/15
Our site ran into a cache stampede which took down the site for awhile. While people were helping out, I just stayed out of their way since I knew nothing about it -_-
I realise I need to git gud but I can't help feeling inadequate and useless at times like this.
Is perseverance, experience, and passion to keep learning and bettering oneself the only way to being a master?2
I have been working with git for years now, and I could never work on a project (regardless if big or small) without it. Its great.
However, just a couple of days ago I learned about the git flow branching model.
Even tho I also worked with branching on a daily basis for years, I did not know about this model. And I have to admit: Its awesome.
If you don't know it, I highly recommend you to look it up. It really improves the already organized workflow with git even more. :)5
Git is good. Even when I do stupid things like reset a commit I wasn't supposed to, it gives me the chance to fix those mistakes.
I still don’t understand git completely ,sometimes the error messages are so hard to understand I just make a new repository and push all my new updates there using GitHub desktop.7
So I thought I knew source tree, apparently I do not... Lost a week's worth of work, went to history, saw someone removed it with a commit, and now I'm getting blamed for my own work 'disappearing'. The reason I am being told I am to blame is how I control my branches... So how I do it is that I keep a local copy of the master branch, I keep it updated and monitor it for changes regularly (meaning fetch and pull cause double tap..) before I do a merge, I check for any new code on master again, then using the local copy of master, which I just updated, I pull the master changes into my branch, deal with any conflicts, build and done. Then I request my changes into master once I am happy everything is good.
My question is, clearly there is something wrong with the way I do things, so please source tree users, what is the most fool proof way to pull latest from master so that I don't loose code? 😔12
My response, as a gamer and developer, when yet another guy tries to explain how "mercurial is so much easier to use":
Git should have an option - - gud which signs the last developer to commit to log each time it's called. (in case they borked it). That way, everyone could spam someone's stupid name who broke production.2
Ok so some of you have probably seen my previous rants about my computer science teacher and our project but I'm just going to summarize all of them and share with you more of my pain.
1. He edits in the production environment. Its a laravel project and he is creating test database migrations IN THE PRODUCTION ENVIRONMENT AND SWITCHING BACK AND FORTH FROM MASTER AND DEV.
2. He edits in vim and doesn't follow codestyle even though I printed him off a piece of paper and emailed it to him.
3. He doesn't have any ethic when it comes to more complex things like laravel homestead.
4. He doesnt want me to release features even though he takes really long to do them.
While I love vim and it is my editor of choice, some things should be done in an ide. This is really annoying me and I'm really just considering handing him the project if he can't follow basic outline.6
Me and the lead developer of my team gave a long and detailed explanation to our manager entailing the current state of a budge program our workplace uses.
This app has been bugging him for a while, he did not write it and has not been given an opportunity to rewrite the damned thing. Its a really...really messy application, and whilst it is a functional one it most certainly is NOT an efficient one since adding or moving things only incites more spaghetti mess.
We were laughing while giving our report, but both of us were crying inside. The main thing is, we both love PHP and the things he has built are very well structured and efficient, he has good technique, but will admit at certain caveats regarding the way he structures his dbs stating that he always has to do changes, which hey, its the nature of the beast, dbs change all the time. But our issue with php is the same: it lets beginners write monstruosities that are harder to do in other environments.
It really is a permissive language. But I reckon thay such lax nature is better left at the hands of the more experieced developers that know what they are doing.
Either way, we will restructure this motherfucker taking advantage of the new standards (which both of us are well versed in) and applying a more structured approach with a nice frontend interface (we be looking at Vue.js and React although we are considering Angular as well)
Gon be some good times.
That moment when you realize that normal people dont use increment and decrement in normal speech syntax...
Learned git, decided, imma use this while I make a little game in Java, couple days later, I find out that net beans has git INSIDE of it... :/ ....3
Fuck your mechanical keyboard, get a Model M. THIS BOY sounds AMAZING to type on!
git branch --merged
to get, you guessed it, all the branches you have merged.
git branch -d <branch-name>
To delete a branch if it has been merged (use -D for forced)
git branch --merged | egrep - v "(^\*|master|dev)" | xargs git branch - d
To delete all the branches that you have merged (but not anything with master/dev in their names)
Sorry for the formatting, I don't know how coder formatting works on DR..4
Anybody have advice about figuring out how you learn and how to have discipline doing things you don't like (everything related to being a codemonkey) so I can git gud?1
Fighting to get a code repository up and running at my current company.
There is no central repository at all; people use their own local files and hope nobody else made changes. At least one product had to be retired because nobody could find the firmware source. I didn't even bother with git, I set up an SVN and showed them how basic and easy it was to use. They all agreed it was simple, and then continued to not use it. Facepalm.3
Spend half an hour with the "git remote add ..." yada yada after setting up an git repo on a vps where I failed to create the home directory with the user and had to do it manually.
As I was against making a trash commit to win against the Schrödinger repo I begun torture myself with the PowerShell SSH compatibility.
I gave up at the end and made an commit with some libs I am going to use. After a last SSH port fight with git got everything up and running.
Lastly installed the new magical windows git credential manager and I am hoping to see some fairy dust in the next days.
throw new EverythingWrongException("Git gud");