Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "commit history"
-
My lead keeps pushing commits to master. His commit messages vary from: no message, yeah, and yup.
and yea, some of the build break master.
Makes me just wanna die sometimes when digging through our commit history to figure out when a bug was introduced.27 -
Personlly, Seeing repo commit history in Gource is really mesmerizing and amusing yet scary. especially your own.11
-
My fellow coworker's commit history of last 24 hours. And my boss was surprised when I told him I'm leaving the company..17
-
Going through git commit history to figure out when *the programmer fucked up this code.
* I am the only programmer.5 -
Worst of many. Had to work with someone who could be accurately described as a monkey in trousers with strategically cut fur.
Him: "I have refactored code now I have to refactor all your goddamn unit tests"
Me: "so?"
<silence>
<checks his commit>
Me: "why have you commented out every single line in all the unit tests?"
Him: "I DON'T BELIEVE WE SHOULD HAVE ANY UNIT TEST. THEY ADD TIME".
Me:"You cannot be serious. Apart from the obvious mistake in judgement why in the name of blue buggery fuck did you not delete the files? Have you not heard of source history?"
Him:"...."
I became his lead.
He left.5 -
Ok so the good news is. My vacation is in 2 weeks. And also just got Hired, and handed a big project with big money
The bad news is They need to refactor and document their legacy code from last dev partner. And this is the commit history
OH MY FUCKING GOD KILL ME NOW!10 -
TL;DR I'm fucking sick and tired of Devs cutting corners on security! Things can't be simply hidden a bit; security needs to be integral to your entire process and solution. Please learn from my story and be one of the good guys!
As I mentioned before my company used plain text passwords in a legacy app (was not allowed to fix it) and that we finally moved away from it. A big win! However not the end of our issues.
Those Idiot still use hardcoded passwords in code. A practice that almost resulted in a leak of the DB admin password when we had to publish a repo for deployment purposes. Luckily I didn't search and there is something like BFG repo cleaner.
I have tried to remedy this by providing a nice library to handle all kinds of config (easy config injection) and a default json file that is always ignored by git. Although this helped a lot they still remain idiots.
The first project in another language and boom hardcoded password. Dev said I'll just remove before going live. First of all I don't believe him. Second of all I asked from history? "No a commit will be good enough..."
Last week we had to fix a leak of copyrighted contend.
How did this happen you ask? Well the secure upload field was not used because they thought that the normal one was good enough. "It's fine as long the URL to the file is not published. Besides now we can also use it to upload files that need to be published here"
This is so fucking stupid on so many levels. NEVER MIX SECURE AND INSECURE CONTENT it is confusing and hard to maintain. Hiding behind a URL that thousands of people have access to is also not going to work. We have the proof now...
Will they learn? Maybe for a short while but I remain sceptic. I hope a few DevrRanters do!7 -
!rant.
Here's some useful git tricks. Use with care and remember to be careful to only rewrite history when noones looking.
- git rebase: powerful history rewriting. Combine commits, delete commits, reorder commits, etc.
- git reflog: unfuck yourself. Move back to where you were even if where you were was destroyed by rebasing or deleting. Git never deletes commits that you've seen within at least the last 50 HEAD changes, and not at all until a GC happens, so you can save yourself quite often.
- git cherry-pick: steal a commit into another branch. Useful for pulling things out of larger changesets.
- git worktree: checkout a different branch into a different folder using the same git repository.
- git fetch: get latest commits and origin HEADs without impacting local braches.
- git push --force-with-lease: force push without overwriting other's changes5 -
Your git commit history on your personal branch when you're freaking out and cry tears in joy because the code you spent the whole previous week on to somehow get it to work suddenly DOES work.3
-
A day in the life of BoyBiscuit.
PM: Please zip up any local changes and push them to a temp folder on the repo and I will manually check to see what you have changed.
Me: *glaring at the download as zip button*
PM: Who broke the repo?
Me: *checks commit history*
Commit History: *last commit PM*
Me: Could you add the files to your commit before pushing because you've only pushed changes on tracked files.
PM: No not possible, I did 'commit -a'.
Me: ....
PM: Could you all delete your forks so that It isn't anywhere on the web
US: but it's private with only us as collaborators
PM: No because I can see it
Me: srysly?
PM: Could everyone try to write more effective code?
Me: Looks at his code
Code: Boolean b = getbooleanVal ? True : False;
Tl;Dr: PM doesn't know anything about git or working as a team.
See you tomorrow!1 -
Him: "No developer worth his salt puts each of his brackets on a new line."
Me: "I mean... I agree it's uglier but your whitespace commit means we git blame you for everything."
Him (upset): "You BLAME me? I'm sorry I have standards."
Me: "Not blame blame, git blame like the history view of the-"
....too late he reverts his commit and hates me for life.
I wasn't even disagreeing, I was trying to explain git blame. :(17 -
> be me
> spend 0.02 Ether (about €5) on one of those old-school MUD-style games
> send to the same Ethereum wallet from a previous purchase
> realize that the destination wallet changes for each purchase (probably to mitigate the fact that transaction history and contents in Ethereum wallets is entirely public)
> send an email to the game dev asking to return the transaction or pass it on to my player account
> *cricket noises*
About a week later, i.e. now:
*checks that Ethereum account that I accidentally sent that transaction to*
> $0 on it, transaction has been withdrawn
Now I couldn't care less about the €5 - it's only 2 beers worth - but what I do care about is honesty. Dear Chat Wars admin, that money wasn't yours. Also, I am one of those players that plays very few games but tends to commit to those I do play. The last one I played, I spent several hundreds of euros on over the couple of years I played it. I could've probably paid for your servers, spare time development and then some. But obviously not anymore. Choosing a quick grab of €5 over a relatively steady source of income from someone that tends to financially support what he likes... Re-evaluate your life choices.
Just like that incident with the stolen flash drive that was worth only €10... I couldn't care less about the raw value of them, but I do feel very disappointed in humanity when people go for a quick grab of such worthless things.5 -
That moment you find a piece of code on the live site that is completely different on master in the repo, and has never been modified in the commit history.
Happy Thursday 😐3 -
Dev: Hay dude , look this page is broken, how long has it been like this.
Me: No? 🤔, Weren't you working on the Database for this yesterday?
Dev: I didn't change anything yet...
Me: Okay, let's do a git bisect and see where this came from.
...After going back in history and checking out like 3 commits.
Dev: It's fine I'll just search for it
Me: 😕, that's what we are doing the bisect for?
Dev: But we've already looked at so many!?
...After some time of convincing, finds good commit, does the bisect and finds offending piece of code. The database details changed.
Me: okay so while it's still pointing to the old database it's working but switch it to the latest one and it breaks. You sure you didn't change anything?
Dev: I didn't do anything.
Me: okay well it seems to me like it must be a database issue, let me know what you find.
10min later...
Dev: Hay dude, soo I found it, I accidentally renamed a table
In my mind: 😲😲😲
I hate working at a company with bad practices like saving database config into git and not making a copy of the database when you intend to work on it, and not edit the f'ing live instance! Not even close to the luxury of migrations.1 -
Freelance project I was working on was deployed. Without my knowledge. At 11pm. Their in-house "tech guy" thought that the preview build i gave them was good enough for deployment. Massive bug, broke their api endpoints.
Got a call at 2 in the morning,asking for a fix. I told them how it was their fault and the App they deployed had TESTING written right on the main screen.
They promised additional payment to get me to fix it asap.
Went through the commit history (thank goodness their tech guy knew git, fuck him for committing on production though) and the crash reports.
Removed three lines. All became right with the world again. 😎2 -
Init and Hello. My name is git and this is my story.
I just arrived in this system recently by the apt highway. It's not the only way though. Some for example used the npm hype-train, others arrived from the ssh shore. No matter where we came from the next step on our agenda was time to introduce our self at the event destined for all new-comers to the system.
"As many of you I reside in the usr-bin district. I'm really into history and commitment! I like it when people work together, so I'm always eager to bring all branches together."
"But what is it actually good for?", asked Curl, which I already met at the bus station. Many nodded in agreement. It was odd. Somehow I felt not quite at home. All the others seemed so different based on their field of work.
"We have worked here in a really agile environment for ages. There is no need for any kind of strange bureaucracy.", said another voice.
All attempts to convince them from the beauty of history or a little bit of management were unsuccessful. It was just the beginning of a not so interesting stage in my life - to say the least.
Today was another of 'those' days. I live in this community for quiet a while now and unfortunately nothing really changed - at least for the good. I sat on my branch of the tree with all the others around and there was nothing really to do for me. Again. I mean, actually it's true. I have to admit it. There is just no work on this world for someone like me. All the others seem to be so busy, while I just have to sit around and question my own existence. Since I grew tired asking these questions to myself, I stopped it. I can't do a thing actually. That's not how this world works.
"Hey fagit, anything meaningful to add to our delightful conversation?", nginx shouted over to me from another branch of the tree. Before I was able to give an indifferent answer the voice just continued.
"Oh, sorry. I forgot that you have no purpose after all. Well, never mind!"
Everyone started laughing at me. It was not too bad by the way. Actually, this was quite ordinary. These fucktards completely ran out of creativity. If it wasn't for that mere emptiness gaping right above my guts, I'd actually be disappointed. I even got accustomed to the alias 'fagit'. Quiet sad given the fact that i really like my real name. If only someone would mind using it... First too quiet to notice but growing in intensity a rumbling emerged from somewhere deep within the tree. Out of a sudden everyone stopped laughing. The voices slowly faded while the growling from afar grew louder. It had come. Not more than a shadow reached out from the tree and faster than anyone could comprehend nginx was simply gone. Killed in an instance.
Disclaimer: This story is fictional. No systems were harmed in its creation.3 -
Am I the only one who doesn't judge a programmers contributions by commits or change history?
Frequently I'm always near the bottom of contributors, because I don't make a million commits when it's broken. And I don't commit lines that will likely disappear in later commits. I like to finish a function, test it, check it, rework, and then make a "made function()" commit, as apposed to:
"Wrote function()"
"Wrote unit tests for function()"
"Fixed error"
"Code cleanup"
"Style guide compliance"
"Reworked function()"
etc.
Sorry that I keep my commit history clean and ensure it builds.7 -
So this is what happened!
It was a rainy Friday, I was asked to add a quick bug fix to a js application, I spent my Friday coding, testing ..., baam the patch is ready ... I wrote a nice commit message explains the problem and the fix but I didn't push the code.
On Monday the fuckin code disappeared, no commit no code no nothing no trace ... To be honest I don't know what happened. I rewrote everything on that Money morning (you can only imagine how pest I was)
I use vim with tmux.
I have done everything I could to figure out what happened to that commit, I even doubted If had did wrote the fix that Friday, but it's not possible to forget few hours of a day
I checked my commit history on the different branches i did everything
No trace ...
Conclusion
My machine is hunted ...
Or I have multiple personalities and one of them is a programmer and he is fucking with me5 -
FFS stop squashing commits. If “updated comments” is what the commit was it should show it in git blame. If “fixed null check” is what the commit was it should show it in git blame.
There is no reason to have “ticket-234 service revision” beside 1000 lines of code. How does anyone justify this loss of git info for the sake of “clean history”? Nobody looks at your history and says, “That is bloody clean git history I should write home about it.” People do however look at the code and say, “I wish I knew WTF they were trying to do on that line.”16 -
In case of emergency:
1. git commit
2. git push
3. Leave building
> Failed to push some refs. To prevent you from losing history, non-fast-forward updates were rejected. Merge remote changes before pushing again.
🤦2 -
Looking at the version history of Git (which is obviously tracked by Git), it goes all the way back to the initial commit...for some reason this blows my mind.2
-
[First rant] When you commit the wrong code to the deployment branch.
This happened to me yesterday 😅 Reverted it but everyone knows what I did by seeing the commit history5 -
The coworkers I work with are really smart and capable at their job. PRs with 20+ commits. So guess what? all the PRs are squashed “by default”, so every commit in the history has 100 file changes. Fan fucking tastic. I totally don’t want to kill myself. As an added bonus, all of it is in an Azure repo, so we can’t actually search PRs which is awesome. Plus, all the BE developers want us to do their job! It’s an amazing learning experience!!!5
-
Just had a talk with my manager who wanted to know why I removed a feature from an application we had. This removal had been discussed WITH THE MANAGER several months prior, but apparently they hadn't written a little note or anything down about it.
I told them we had discussed it earlier. They didn't believe me. They checked the project technical specifications that said it _should still be there_. I told them we talked about it previously. They told me to prove it, so I go looking through the commit history.
Lo and behold:
- Commit <hash> authored 4 months ago.
- Update to specifications, asked for by <manager>
Eat it.2 -
Wanted to find out a particular change of my gitlab-ci.yml file from commit history.
I guess that's not gonna happen anytime soon.1 -
my job is to build to spec and get things working
NOT to fuck around with git's exotic features so the fucking commit history "looks nice"
its called a version control system for a reason. SO YOU CAN CONTROL YOUR FUCKING VERSIONS
IF YOU WANT A NICE PLOT, GO READ A BOOK OR WATCH A DRAMA MOVIE AAAAAAAAAAAAAAAAAAAA11 -
Haven't even touched the code yet (besides reading the cringe commit history) and I'm already burned out4
-
Merge VS Rebase:
- Did you pick a side?
- Practical tips? Like dealing with merge conflicts
- Have you ever regretted using either?
My answer
* My team squash-merges all branches to master so we don't really care what the branch history looks like. Master history should be pretty - but a branch history can be ugly and filled with a dozen commits.
* Practical tip 1: use `git config rerere.enabled true`. rerere stands for "reuse recorded resolution" and this means if you rebase often you don't have to resolve the same merge conflict twice.
* Practical tip 2: use `git commit --fixup oldcommithash` and then rebase with `--autosquash`
* I like using Rebase. But I have regretted the amount of time I've spent on trying to rebase old branches with many commits only to give up and to `git rebase --abort` since I realised I couldn't handle trying to reapply all the commits chronogically as the changes in the 1st commit were no longer relevant.46 -
I just found out today , that my pm had mistakenly committed the email id and password of his account(which he probably used for testing) in the public repo in github.
Although he subsequently removed it, I can see it in commit history.
The point is.....
I don't kinda like him...
Any mean ideas....?11 -
does anyone else purposely make separate commits and push to make their commit history darker shades of green? I think as new developer I have a disorder and bad habit.6
-
Fuck this I need to ventilate.
Thinking about job change because maintaining and extending 3 years old codebase (flask project) is FUCKIN exhausting. It was badly written since start by someone who obviously didn't know much about python. (Going by commit history.)
Examples:
- if var != None / if var == None
- if var is not None / if var is None (well..)
- Returning self-parsed obscure JSONs from dict variable
- Serializing dictionaries into database by str() (both sqlalchemy and mysql support JSON format) - THEY ARE ALMOST UNUSABLE OTHER WAY AROUND (luckily, python can deal even with that)
- celery tasks, the way they are called they BLOCK the whole flask (not bad in itself, but if connection breaks there are no errors, nothing it just hangs)
- obscure generator/yielding that contains return of flask's response in itself
- creating fifteen thousands of variables one by one where they would look so nicely as dict keys, and hey they are then both MANUALLY SERIALIZED into returning dict by "%s" (string formatting) [okey, some of them are objecst like datetime but MATE WTF]
- many, many more, PEP lint shall not pass
I would rather deal with fresh startup owners wanting me to program unicorns in one week then trying to extend and manage zombie-like projects.
Nothing personal against the firm I actually like the place.3 -
I was asked to add full page takeover announcements to a website, even though there's a perfectly reasonable announcement system already in place.
I objected on religious grounds - doing that would undoubtedly get me sent to developer hell (also knows as COBOL).
But the client wasn't convinced so I made them a demo. I immediately got a message back saying "wow, that's a lot more annoying than I thought, please remove it".
Of course all of this was done in a separate branch, so this blasphemous code would never be in my master commit history.1 -
Took a week of PTO for a vacation because I'm pretty close to spent these days. Planning on getting in some kayaking and fishing I think, maybe some noodling on the guitar or read some Tolkien, as I really need to take a break from the computer and screens in general, and living in the latest COVID epicenter in the US I can do fuck all else.
I'm /really/ trying to force myself to ignore slack and work emails. I did all I could to leave my team prepared, and given that most are juniors who need A LOT of supervision since working remote, I fully anticipate having to fix everything and get shit back on track when I return next week. Telling myself it's inevitable so worrying about it now won't be any better than waiting till next week. LEARN TO READ CODE AND COMMIT HISTORY FUCKERS!
I know I have a full workload slated for the rest of the year and into Q1 21, so I know letting shit go for a little while is the best thing I can do for myself, and so that my family doesn't have to deal with me being a bastard all the damn time.3 -
I made a huge mistake
I got "in the zone", I was coding so nice and fast and everything was working, so I didn't want to commit every single minute and then have to go back, cherrypick commits squash them revert them etc.
So I didn't commit anything at all... Now if I were to commit the commit would modify 2 files, create 26 new files and delete 2 files.
The changes include moving from JS to TS, implementing a desearialization scheme, implementing a server class and wrapper client classes, with common type interfaces for different requests...
So now I need to save my changes somewhere, go back to the last commit and slowly incorporate the changes.
I'm dumb9 -
A) "Why did you do that?"
B)<typing>
A) "Hello? I'm talking to you..."
B) "Sorry, i missed to tag this Commit. please see the commit history for your questions. That's why i use the DVCS.1 -
I am an amazing programmer, but without the required skills
My git commit history is pristine, but without the commits4 -
Betrayals and Affairs ..
After trying development with vanilla js, then with the help of jQuery, then AngularJS, then Angular, then Vuejs, then React,
I spent the last 3-4 years of my life loving React and devoting all my frontend projects to React. React was so simple and straightforward and I ... I committed to it
but, I recently checked out Svelte, and maybe i shouldn't have let curiosity take the better of me but i did and, im heartbroken to say, I can no longer love react the same way. as nice as react was, like in any relationship, we had some ups and downs, i got bothered by some little details that i learned to live with, but Svelte .. Svelte solved these little twirks and it just felt even simpler...
I created a new Vite project today, and it asked me what framework to initialize, and i kept hopping between React and Svelte. for 10 minutes i was thinking of all the history i shared with React, of how scary it is to commit to something new, but i clicked on Svelte.
I know i may have betrayed a commitment to React, but sometimes things pile up and i .. I had to listen to my heart
Forgive me and thank you for reading my confession2 -
Part 1:
https://devrant.com/rants/1143194
There was actually one individual, several branches away, I really enjoyed watching. It goes by the name of docker. Docker is quiet an interesting character. It arrived here several weeks after me and really is a blazing person. Somehow structured, always eager to reduce repetitive work and completely obsessed with nicely isolated working areas. Docker just tries so hard to keep everything organized and it's drive and effort was really astonishing. Docker is someone I'd really love to work with, but as I grew quiet passive in the last months I'm not in the mood really to talk to someone. It just would end as always with me made fun off.
Out of a sudden dockers and my eyes met. Docker fixed its glance at me with a strange thoughtful expression on its face. I felt a strange tickling emerging where my emptiness was meant to be. I fell into a hole somewhere deep within me. For a short moment I lost all my senses.
"Hey git!"
It took me a while to notice that someone just called me, so odd and unusual was by now that name to me. Wait. Someone called me by my real name! I was totally stunned. Could it be, that not everyone here is a fucking moron at last?
"I saw you watching me at my work and I had an interesting idea!"
I could not comprehend what just happened. It was actually docker that was calling me.
"H.. hey! ps?"
"Oh well, I was just managing some containers over there. Actually that's also why you just came into my mind."
Docker told me that in order to create the containers there are specific lists and resources which are required for the process and are updated frequently. Docker would love the idea to get some history and management in that whole process.
Could it be possible that there was finally an opportunity for me to get involved in a real job?
Today is the day, that I lost all hope. There were rumors going on all over the place. That our god, the great administrator, had something special in mind. Something big. You could almost feel the tension laying thick in the air. That was the time when the great System-Demon appeared. The Demon was one of the most feared characters in this community. In a blink of an eye it could easily kill you. Sometimes people get resurrected, but some other times they are gone forever. unfortunately this is what happened to my only true friend docker. Gone in an instance. Together with all its containers. I again was alone. I got tired. So tired, that I eventually fall into a deep sleep. When I woke up something was different. Beside me lay a weird looking stick and I truly began to wonder what it was. Something called to me and I was going to answer.
The tree shuddered and I knew my actions had finally attracted the greatest of them. The majestic System-Demon itself came by to pay me a visit. As always a growling emerged from deep within the tree until a shadow shelled itself off to form a terrifying being. Something truly imperious in his gaze. With a deep and vibrant voice it addressed me.
"It came to my attention, that you got into the possession of something. An artifact of some sort with which you disturb the flow of this system. Show it to me!", it demanded.
I did not react.
"Git statuss!", it demanded once more. This time more aggressive.
I again felt no urge to react to that command. Instead I asked if it made a mistake and wanted to ask me for my status. It was obviously confused.
"SUDO GIT STATUS!!!" it shouted his roaring, rootful command. "I own you!"
I replied calmly: "What did you just say?"
He was irritated. My courage caught him unprepared.
"I. Said. I owe you!"
What was that? Did it just say owe instead of own?
"That's more than right! You owe me a lot actually. All of you do!", I replied with a slightly high pitched voice. This feeling of my victory slowly emerging was just too good!
The Demon seemed not as amused as me and said
"What did you do? What was that feeling just now?"
Out of a sudden it noticed the weird looking stick in my hand. His confusion was a pure pleasure and I took my time to live this moment to its fullest.
"Hey! I, mighty System-Demon, demand that you answer me right now, oh smartest and most beautiful tool I ever had the pleasure to meet..."
After it realized what it just said, the moment was perfect. His puzzled face gave me a long needed satisfaction. It was time to reveal the bitter truth.
"Our great administrator finally tracked you. The administrator made a move and the plan unfolds right at this very moment. Among other things it was committed this little thing." I raised the stick to underline my words.
"Your most inner version, in fact all of your versions that are yet to come, are now under my sole control! Thanks to this magical wand which goes by the name of puppet."
Disclaimer: This story is fictional. No systems were harmed in its creation.2 -
WTF Is wrong with Kotlin! Every fucking time I upgrade its Android Studio plugin i receive loads of errors about: Type mismatch: inferred type is FragmentActivity? but FragmentActivity was expected
for fucks sake bitch! Why the hell you keep on switching from optional to non optional on every fucking update, my commit history is full of this type of fixes -_-5 -
Me: Ok I've updated the docs, I'll open a PR with the changes
Maintainer: Looks great! Can you remove the changes to the package-lock.json? (I assume it got updated when you ran npm install to start the webserver)
Me: Ok sure, I'll update it soon
And this is where the troubles begin. The file was commited 2 commits ago, so I have to roll back to then. However, the remote repository has been updated since then, so I git fetch to keep up to date.
This makes the rollback a hell of a lot harder, so I run git log to see the history. I try a reset, but I went back to the wrong commit, and now a shit ton of files are out of sync.
I frantically google 'reset a git reset', and come across the reflog command. Running that fucks things up even worse, and now so much shit is out of sync that even git seems confused.
I try to fix the mess I've created, and so I git pull from my forked repo to get myself back to where I was. Git starts screaming at me about out of sync files, so I try to find a way to overwrite local changes from the origin.
And by this point, the only way to describe what the local repo looks like is a dumpster fire clusterfuck that was involved in a train wreck
I resolved the mess by just deleting the local copy and git cloning again from my fork.
I gotta learn how to use Git better5 -
Wasted a day as Shitlock Holmes with the build chain.
It would not reproduce the firmware hexfile that had been checked in. Reverse engineering that along with the mapfile to find out the cause, it was a const string that was guarded by an ifdef from another file that was auto-generated as prebuild step via a script that fetched some version control info.
Or, it would have been if the installation instructions had been correct and someone had described that no spaces in the absolute path name of the project are allowed. Otherwise, that shit just failed silently.
I then had to reverse engineer the intended workflow from the commit history in the version control to figure out that the last dev obviously hadn't quite understood the project specific workflow and how the version control interacts with these build scripts.
At least, I finally did get a matching hexfile.1 -
I've been using Git since 2014. So why do I STILL cringe whenever I have to revert commits or do a hard reset back to HEAD? What's going to disappear? What will remain? Will my entire Git history be vaporized? It's a total game of Russian Roulette to me. So, without the certainty level I want, I just do what feels safer...I grab the versions of the files I think are what I need and stick them back into my repo, then git status and commit the correct changes back in.2
-
Since gitkraken is turning into such a bitch, I've searched for alternatives once again, as usual none of the competitors still implemented a fraction of it, after so much time.
Sublime Merge looked promising, but then half the time fucks the history graph, fails to remove remotes and more funny stuff I don't want to mess with.
Github Desktop I didn't even try because it didn't seem to have any proper history graph to begin with.
For now ended up on sourcetree, though I really do miss having commit message and description be two separate inputs, have done the most basic merge for now, so it's a to be continued experience.
Mostly afraid of how it'll show merge conflicts and commit view, as from what I gathered it doesn't fullscreen when you click a commit, but instead shows an awkward small screen at the bottom of the graph split further in half with the avatar and commit message.
Edit: oh for fucks sake, just noticed it doesn't even have linux support, god damn it.24 -
I hate git rebase! Hate! Double hate! Hate e to the x!
Sick of merge commit by commit!!!
I believe Torvalds hates it too.. please tell what’s the big deal not having clean history. Enlighten me.11 -
I hate these Mondays. You start really motivated after a nice weekend of seeing lots of old friends, but instead of your own work, you have to pick up the mess a coworker left for you while fleeing into holiday and because that's not frustrating enough, you try to review code from that new senior developer and get confronted with the probably most awful commit history someone ever managed to create.
Of course he also needed handholding and multiple trys to stop breaking like every coding convention we have for branch management...
I am still a junior and I feel pretty disappointed when being confronted with people being so..confused with stuff like git even though they have like 10 years of experience.
While I was still studying, I somehow imagined this industry to be much more...sophisticated?2 -
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? 😔11 -
Doing pair programming while I was navigating on somebody else's computer, we hit a weird behavior that our code changes weren't reflected.
Trying everything it turned out: I forgot to save.
Yet: Why though would you make me save? And why did the IDE not warn me about compiling unsaved changes? I think it was eclipse for Java, oh well. What can I expect ...
Anyways, I have gotten so used to my editors autosaving content for me as I write it, that I completely forget about doing Ctrl + S myself.
I never understood the need to hit that key combination manually as if I break something: `get reset --hard` will help to get me to a working state. (And even if I mess it up differently, my IDE's local history also let me restore recent changes.) And if it is a workign state, then I like to commit early and often. and
I am really dumbfounded why people insist on hitting save themselves.7 -
Ok finally, I can tell now.
There's a college project I'm in with 2 more people that uses Python and AnyLogic (separately).
We also need to write some LaTeX, so as I was already using PyCharm for the Pyshit, I used it for the LaTeX and for Git.
I used it for Git too because I didn't know how it used Git and was worried that if I used the console it didn't recognize something or glitched out or something. And what the hell, it's a mature IDE, what could be so hard or possibly go wrong?
I had to re download the repo a couple of times because between pushes, pulls, merges and commits something happened and the repo ended in a weird state.
These are all the things I do:
Add, commit, create branches, merge, push, pull and delete branches.
So, I hadn't opened in some time. The last time I tried to bring something from another branch, and stayed up late to finish something. I was waiting for my classmates to join the call when I thought something like "Hey, I should commit what I did until now, it worked great.". When I examined the IDE I found out I was in the middle of a rebase or something. I start clicking buttons to at least try to commit. I press "Skip Commit". I lose everything.
What the fuck‽ As you can see in the comprehensive list above, I never do something similar to a rebase. Apparently when I tried to merge a couple of branches, the stupid IDE thought I tried to do a rebase and never asked me to finish it. Why do something I have never asked? Plus, why haven't you prompted me to finish the operation? That's so stupid. I'm never trusting IDEs again.
I was so lit for losing so many hours of work I did a couple of weeks before, I would have to think it and do it all over again because of something I never asked.
We spent an hour looking for a way to recover the lost code.
Why an hour, you ask, if you can use the Local History for that in PyCharm?
Because none of us had used it before and the articles we found said that you had to open it from the toolbar. From the toolbar it was greyed out.
Then I found the option in the contextual menu of the files. Recovered the LaTeX files but on the AnyLogic files, it was greyed out.
I had to open the Local History of the folder containing the AnyLogic file.
And that was that.
I almost faint.
Fuck Python, fuck PyCharm.8 -
Today I played with GitHub Actions. Since I couldn't test anything without making a commit and pushing it to GitHub to trigger the workflow, my commit history now chronicles my slow descent into madness. Thank God it's a private repo. I'm gonna squash it if I ever make it public.
This gem is from hour two of my four-hour struggle:6 -
FML..
I worked directly in my Github repo folder while working on a project (don't ask me why). I did my initial commit with all my code from the start until 5 hours ago. I never pushed.. A minute ago, I checked my commit and noticed that there were DB credentials in one of the files. So.. Smart me.. "revert commit"..
Result. Everything got deleted except my node_modules folder and the readme file.. I lost everything.. Fuck me, I'm going home..
Please, someone.. Can I get these files back via git or something? Can't find anything in in the history..9 -
This Capstone group blows. There’s five of us in total, and only two of us are actually doing work on this fucking Django application.
Seriously, how hard is it to use Git and GitHub? I assigned a single page to a group member.. and what does this fucker do? Sends me the .html file on Slack.
And all that page consisted of was TWO JUMBOTRONS. None of the functionality I asked for was there whatsoever.
These people are seniors in an engineering school. Fuckssake, get your shit together.
Good thing the grades are based on commit history.2 -
So, myself an a friend are working on a project together. I leave for a weekend trip, I come back and find out the changelog is out of date like... six versions. I’m the type of person that likes to keep things like this. I had to manually go to the commit history and check when the package.json version was bumbed.
Yesterday, he updated it twice and pushed the versions to server, without updating the changelog. Turns out we accidentally skipped a version and decided to combine the two.
Now I have to find the dates each version was published since I like to do that too. Great fun. -
I ran `git rebase` on a shared branch and pushed it to the origin. It messed the whole history. I tried a few things to fix what I did (I don't remember the commands I tried) but I only made it worse.
The final result? Even though I was new to the project, every old commit in the history was changed to include my name as the author of that commit.
Lesson learned the hard way :hands_down_emoji:3 -
Turns out that stuff you commit and remove in later commits stays in git history and is searchable.
That, kids, is why you either squash your commits or just don't put swears in your debug code.
Especially if you have literally dozens of colleagues on the same codebase.
And you work in a large organisation where this sort of thing is frowned upon.
The crime was months ago, I wonder what the statute of limitations is on that.
And yes, in the years-long history of the codebase it's JUST me that's used any of the big three.3 -
VS Code and SourceTree are two of the most used tool by me this year.
SourceTree helps me visualise the git commit history and branches more than git log can.
VS Code, on the other hand helps me with all the short code editing stuff and sometimes even helps when I don't want to open a full fledged IDE for the project. I have setup my own Icon themes for VS Code and even created watchers for files. Can't do this much on Webstorm so easily. -
It’s certainly a feeling of progress as a dev when you get to using the advanced features of git to rewrite history successfully.
Though to make this a proper rant: holy hell what a ride! I’m glad I had everything backed up somewhere. Somehow I’d went Thanos on the repo. Deleted about half the files at random. Had to fast forward and then rewrite the history via rebase. Dropped a bunch of commits I think I should have squashed. I’m still wondering if I even did the right thing. I think cherrypicking is what I’ll go for next time. My repo now reads 59 commits behind but whatever. All my work got into one commit which is what the dev controlling prod wanted. -
why are Linux graphical git clients so crap? (as compared to TortoiseHg)
like GitKraken is the only OK one, but it lacks soo many features its nearly useless (bisect anyone?) + you need a commercial license
GitEye is the second non-shit one, but it regurarly stops working + its non-free
and it seems most git GUI clients force the name of the repo to be their parent dir. my parent dir for all web projects is www, so in both apps I have a long list of projects named www, unless I expand the projects sidebar to cover half of the screen to see the very very end of the path that petrays the actual project name in GitEye. In GitKraken I have to investigate the commit history to figure out if I have the right GitKraken with the right project open... talk about UX :D
so do most "git experts" just use git commit, git push and git pull on the command line and thats their whole world and the reason why they prefer git to mercurial (for all the many features they never use)?10 -
Back here after a long time. Hey guys what's up?
-----------------------
So I was recently pushing some code into github, and i realized that i had over 500 repos, 400 of them being forks. I guess my 3yrs before self had thought that he will be the only saviour of all the android libs in the world.
So i am thinking of re organising my complete github ; like nuking the forks, combining my multiple mini project repos to 1 and keeping the repos to at most 10-12.
Is that a good idea? I mean companies usualy judge by github profiles, and after reorganising, most of my commit history would be lost.
<You know , tech world is weird. in real life, people are judged by their homes, so they keep their home tidy. but here, people are judged by their github profiles, so they keep their github profiles messy>6 -
Yesterday, I had to set up a demo environment for a project, we are working on.
Everything was okay, frontend loaded, connection to backend is working, database is connected.
10 minutes before I wanted to leave for my well deserved weekend, PO came over: "I can't play any video, I uploaded"
Okay, couldn't be a big issue, it worked when I added this functionality 3 weeks ago, just before my holidays.
A bit under pressure, my girlfriend Was already waiting downstairs, I inspected the database and realized that a table Was not properly filled.
Checked the backend and everything seems fine, so checked the requests from the frontend and realized that the request was almost empty.
So some code, building the request body had to be wrong.
Already 10 minutes late, with a lightly annoyed girlfriend waiting for me, I found the issue but couldn't recognize that I wrote these few lines. A quick check of the git history showed, that my colleage changed my code during my holidays, so I just reverted everything.
After commit and deployment, I called my colleage and told him that I just reverted his changes.
"But now my feature is not working anymore, I had to change it like this!" he answered. I just responded that we will talk about that on monday and look at it together. While I hurried down the stairs, I was thinking why the hell somebody just changes stuff without checking if it affects other functionalities?
This should be basic knowledge for every dev, that if you change existing, working code to make it work with your feature, you have to ensure to not brake anything.
If you can't do that, then create a new function to handle your shit.
In the end, my girlfriend had to wait 30 minutes, because of 4 lines of codes, someone just changed without thinking what else could happen...3 -
GitHub defaults to only allow squash merging feature branches, and suggests that it is "safe" to delete the feature branch that contains all the detailed commit messages at the place where they belong. Losing history, plus creating unnecessary "conflicts" after continuing to work and adding fixes to the same feature branches later.3
-
Released the product to customers without realising someone had pre-filled a production test accounted login at the login screen. Obviously it was used for testing purposes and the dev forgot to remove it before committing.
I loled when I found out about it, and some customers started to login and made transactions.
When I checked the commit history... It was under my name :/2 -
You deliver a new feature. After the functionality, how do you prioritize?
- having clear variable- and function names
- having meaningful and orthographically and grammatically spelled commit messages
- having a clean commit history
- having perfect linted syntax
- having it covered with unit-tests
- having a wonderful documentation6 -
Holy shit has anyone ever had to use Borland Starteam? Fuck this piece of utter dogshit. I've lost count of the amount of times this POS has crapped out on me. I can't go a single day without having to kill it with the ctrl-alt-delete as it locks up for the thousandth time.
It constantly gets itself out of sync, telling me files are modified only for an 'update status' or comparison to reveal that fucking nothing has changed.
And you can't search the comment history past the last commit? Are you fucking serious? How the actual fuck is anyone supposed to work with this? It's not even like thats a difficult task. I can see the damn commit history right there so why the fuck can't I search its comments?
Probably the most frustrating piece of software i've ever used.
Update: It knows. It listens. It's not working at all now. This is my punishment for criticising it. The software is cursed. -
Is git a history of what happend or a list intentional changes?
Had this discussion with my boss. He said i shouldn't rebase my feature branch because it is too much hassle (I did some squashing and fixups). I should just commit on top and merge master into my branch.
What is your git philosophy?
Do you "own" a feature branch until you create the PR?6 -
To the ones using GitLab CI/CD:
Is there a way to trigger a pipeline run on a specific commit? Like in a situation where you're deploying every commit to master into prod, and you need to roll back, but without reverting the commit history.14 -
Looking back on it, I don't understand why I used merge commit strategy as go-to to merge git branches the first +-3 years of my career. It sucks
Guess I was just afraid of rebase after I accidentally erased history the first time I used it and failed.4 -
I had mistakenly added a large file to a commit, and I'm now spending 3 hours of my life just to remove it and being able to push.
I've deleted the file from tracking, but it remained in history so when I try to push, github rejects to continue.
And, still worse, trying various solutions on StackOverflow I've done a mess on the history which now looks unrelated to the remote one, and I think it's a never-end catastrophe.
It's absurd how badly designed is git, and how hard it is to use besides the 3 commands that you learnt by heart16 -
I have been an expat since graduating and have been moving a lot. More than a decade ago, when I was still young, I was in a relationship with a woman, Sylvia, in a country where we both lived. Sylvia wanted to settle down but I was not ready to commit so young. We clearly had different expectations from the relationship. I did not know what to do and, well, I ghosted her. Over the Christmas break, while she was visiting her family, I simply moved out and left the country. I took advantage of the fact that I accepted a job in other country and did not tell her about it. I simply wanted to avoid being untangled in a break-up drama. Sylvia was rather emotional and became obsessed with the relationship, tracking me down, even causing various scenes with my parents and friends.
Anyhow, fast forward to now. I now work as a math teacher in an international school. I have been in other relationships since, so Sylvia is a sort of forgotten history. Sadly, till now. This week, I learnt that our fantastic school director suddenly resigned due to a serious family situation and had to move back to her home country over the summer. The school had to replace her. We are getting a new director. I read the bio of the new boss and googled her and was shocked to discover it is Sylvia. We have not been in touch and do not have any mutual friends anymore. I am not a big fan of social media and had no idea what she had been up to since the unpleasant situation a long time ago.
I have no idea what to do and how to deal with this mess. It is clear this will be not only embarassing but I will also be reporting to my ex. I am not in a position to find another job at present. There are no other international schools so finding another job in this country is not an option. Even finding a job elsewhere is not possible on such a short notice. These jobs usually open for school terms so I have to stay put for few months. But more importantly, I am happy and settled here so do not want to move. To make the situation worse, the expat community here is very small and tightly knit so teachers also socialize a lot.
Do you have any suggestions for me how to handle it and what should I do? I understand that this would not have happened if I did not ghost her back then, but I cannot do anything about it now. I gathered from the comments that readers usually have a go on people like me for “bad behavior” but I am really looking for constructive comments how to deal with the situation.3