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 - "git push --force"
-
Roughly 180 days, 5 months and 29 days, 4,320 hours, 259,200 minutes, I devoted myself to a client project. I missed family outings with my daughter and my wife. People started asking my wife if we had broken up. My daughter became accustomed to daddy not being around and playing with her. Sometimes only sleeping 4 hours, I would figure out solutions to problems in my sleep and force myself to wake and put them into action. My relationship with my wife became very fragile and unstable. I knew I had to change but I just needed a little bit more time to complete this client project.
Finally, the project was ending there was light at the end of the tunnel. I “git add –-all && git status” everything looked good. I then “git commit -m “v1.0 release candidate && git push beanstalk master”
I deployed the app to the staging server where I performed my deployment steps. Everything was good. I signed-up as a new user, I upload a bunch different files types with different sizes, completed my profile and logged out. I emailed the client to arrange a time to speak remotely.
“Hello” says the client “How are you” I replied. “Great, lets begin” urged the client. I recited the apps url out to the client. The client creates a new account and tries to upload a file. The app spews a bunch of error messages on the screen.
The client says
“Merlin – I do not think you really applied yourself to this project. The first test we do and it fails. If you do not have the time to do my project properly please just say so now, so I can find somebody else who can”
I FREAKED THE FUCKOUT on the client!!!!!!! and nearly hung up. My wife was right next to and she was absolutely gobsmacked. I sat back and thought to myself “These fuckers don’t get it”. All that suffering for nothing!
Thanks for reading my rant….
BTW: I did finish the project, the client was amazed on how the app worked and it is has become an indispensable tool for their employees.19 -
Jack and Jill
Pulled down from git
To fetch aPaleOfWater.c
Jack made some changes
And then pushed them all up
A merge conflict occurred
Jill decided his changes sucked
And push --force over his
Jack was enraged
For history was changed
And force pushed Jill
down a hill3 -
My friend and I were watching a documentary about Salmon. He suddenly starts to giggle and I ask him whats up.
Friend: Why do salmon suck at version control?
Me: why?
F: because they always git push force upstream 😂😂😂 -
My team lead force pushed to master. This guys always complains when we merge PRs with wip or fixup commits and he just did it himself and tried to cover it up doing a rebase on the master branch.
Good job fucking up everyone. 👍5 -
!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 -
cw: I need a server to put my node backend
me: sure, I'll run a docker container for you
cw: nice, I've never worked with docker but I learn quickly, I'm already reading the Docker file docs
me: no wait, you don't need to learn anything, you'll be inside the container, so you only need an ssh connection and that's it
cw: this Dockerfile stuff is really complicated, it'll take me a while, but it's ok you don't have to worry, I like learning new things
me: you won't need that, just imagine it's a cloud server with Ubuntu installed, you only have to use it, I'll put node, git and ssh there for you
cw: ok got it, I'll have to learn the commands to run the docker, I'm on windows but I can use PowerShell and stuff I'll figure it out
me: ...
cw: ssh is a linux command right? does it have a push or publish option? how do you upload files there
me: ...you can use a ftp client but you'll need ssh to run the node server
cw: ok, I'm almost done with the Dockerfile, I only need to add git and nodejs, I'm starting to understand this thing...
me thinking: yeah keep doing that, you're such a crack, such a quick learner...
This son of a bitch is either a retard or is doing it on purpose and laughing at me the whole time, making my life so miserable, but I'm about to go insane with this dude, I'm proud of how I've been able to control myself, BUT ONE OF THESE DAYS I'LL LOSE MY COOL AND FORCE THIS MOTHERFUCKER TO DRINK A BIG POT OF BOILING, SALTY AND STINKING VOMIT WITH A SIDE OF STEAMING DIARRHEAL GREEN DOG SHIT WITH WHITE CHOCOLATE CHIPS WHILE I PUT MY OLD CRT MONITOR TO GOOD USE BY BEATING HIS FUCKING HEAD WITH IT!!!3 -
Greetings from Denmark! Thought I would join after a lot of lurking, and tell a little story, as to how I fucked up when I started in my company.
I've been there around 10 days and had never used git besides just add, commit, and push. I was told to work in feature branches, and I did, I was playing around trying to learn, and got some merge conflicts, made a lot of unnecessary commits etc. I was told to clean it up before I merged into dev. And as I didn't know git I asked how I could do that. I was told I could force push in my branch, and that it was okay as long as it was only inside my branch. I tried that and saw my command line force pushing to all branches including dev, and master. My heart skipped a couple of beats, and I went directly to my Lead developer and asked what happend. He got a bit mad at me for pushing in dev and master, and override all the commits there had been made. I tried to explain I didn't he did not really believe me, I was so nervous. Luckily everything came back to normal with people's local branches being pushed etc. But that day I learned about git's push matching config, and my lead was luckily only mad in the heat of the moment and even apologized for getting mad. Just one of my little fuck up's in my short time as a developer7 -
This had me laughing out loud this morning, my wife just looked at me funny as I tried to explain it to her.2
-
Well there were quite some teamwork fails concerning Git and build environments. I covered a few in my previous rants.
Basically I become a tiny bit of FUCKING ANGRY when I have to work with lobotomized pricks who get a segfault at address 0x00000000 in their brain_x68.exe when it comes to handle Git in the simplest ways possible.
Horrible commit messages, unfinished/buggy stuff pushed to master, force-push with fucking 6 months old code +1 change, pushing "resolved" mergeconflicts without resolving, 1 year old issues which are not closed or marked in any commit message, copying repofiles into a backup folder and committing it, not commiting files and change it directly on the FTP...
I HAVE SEEN IT ALL.
If I was not a calm and thoughtful guy I have had exploded and quit a long time ago!
I only help them so they can improve their dev style and workflows.1 -
git add -A
git commit -m "fix bunch of shit.'
git push origin master
**98 files changed
hours later
me: omg I forgot to change the hardcoded IP now it's getting 404
git add -A
git commit --amend
git push origin master --force2 -
What can you do with people using so many times git force push ...
* explain gently this is not necessary
* punch him/her everytime you see it
* other stuff that is not in the above list7 -
git push --force
Because I always push after every commit, when the slightest fuckup happens I just hard reset, commit again, and force push...
...even if it's just a typo in the commit message6 -
How to get bad co-workers out of your company (if your company uses git and Linux)
Alias push to push --force3 -
What a satisfying and yet freaking scary thing when you run
# git checkout -b feature/lostHoursWorkingOnThis
# git reset -- hard <commit from 3 months ago>
# git push upstream master --force
Just when you're at the final sign off of a major change and the business goes "nope, we want to make even more changes before we sign off ok this"
🤷♂️out of scope gone wrong!!
Well fuck you, I got shit to deploy, all this work can get out of my way! -
Am I the only developer in existence who's ever dealt with Git on Windows? What a colossal train wreck.
1. Authentication. Since there is no ssh key/git url support on Windows, you have to retype your git credentials Every Stinking Time you push. I thought Git Credential Manager was supposed to save your credentials? And this was impossible over SSH (see below). The previous developer had used an http git URL with his username and password baked in for authentication. I thought that was a horrific idea so I eventually figured out how to use a Bitbucket App password.
2. Permissions errors
In order to commit and push updates, I have to run Git for Windows as Administrator.
3. No SSH for easy git access
Here's where I confess that this is a Windows Server machine running as some form of production. Please don't slaughter me! I am not the server admin.
So, I convinced the server guy to find and install some sort of ssh service for Windows just for the off times we have to make a hot fix in production. (Don't ask, but more common than it should be.)
Sadly, this ssh access is totally useless as the git colors are all messed up, the line wrap length and window size are just weird (seems about 60 characters wide by 25 lines tall) and worse of all I can't commit/push in git via ssh because Permissions. Extremely aggravating.
4. Git on Windows hangs open and locks the index file
Finally, we manage to have Git for Windows hang quite frequently and lock the git index file, meaning that we can't do anything in git (commit, push, pull) without manually quitting these processes from task manager, then browsing to the directory and deleting the .git/index.lock file.
Putting this all together, here's the process for a pull on this production server:
Launch a VNC session to the server. Close multiple popups from different services. Ask Windows to please not "restart to install updates". Launch git for Windows. Run a git pull. If the commits to be pulled involve deleting files, the pull will fail with a permissions error. Realize you forgot to launch as Administrator. Depending on how many files were deleted in the last update, you may need to quit the application and force close the process rather than answer "n" for every "would you like to try again?" file. Relaunch Git as Administrator. Run Git pull. Finally everything works.
At this point, I'd be grateful for any tips, appreciate any sympathy, and understand any hatred. Windows Server is bad. Git on Windows is bad.10 -
When I'm still a beginner in git, I always use git push origin <branch_name> --force, for the sake of pushing my code on the master branch. My co-worker always complain why the hell there's always conflict on the master branch.2
-
TeamWork 1 week before release de projet
Guys i dont know why but all the projet is fuckup in Git ...
Me: where is your firts commit of all these shit ?
He: just there
Me : git reset eb23ae --hard && git push origin HEAD --force
Me: now you sit there and you play with your pencil ! 😡😠
Thx2 -
Bitbucket full of dicks!!!
Dude just pushed merge conflict comments!!! At first he was like I did not do it, so I was like git blame bitch! Now he is like it wasn't my fault so what I used force push!
Well that was it I will leave this unholy company!1 -
If you're having merge problems I feel bad for you son, you've got 99 problems but my branch ain't one!1
-
That feeling when you've been on holidays for 15 days and the `$git pull origin master` take hours...3
-
Why do some developers rebase or resolve merge conflicts when you can just email each other changes and force push?4
-
I feel like Git could have come up with a better name than "force push".
It just doesn't seem right... If your codebase doesn't want your commitment, you really shouldn't force yourself on them. No means no god dammit!3 -
You'll have less of a work to do the following week if you
git push origin master --force
on Fridays -
Today, rebase finally made sense to me and I was able to squash a branch to remove a whole lot of unnecessary commits.
It only took 2 years... Guess all three times I used git in command line and all the Linux terminal/acting finally made a synergy.
Given I had to use force push that means it's like overwriting an existing repo with a different one?2 -
I was discussing something about git today with a colleague and then it hit me. Git push --force is like rape. You don't want to push? I'll force you to😂
-
git suicide:
git() { if [[ $@ == 'suicide' ]]; then git reset --hard origin/master; git push origin master --force; fi }2 -
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 -
so I'm in a quandary, I'm in a place that gives me lots of freedom and the room and respect to implement my ideas and i get lots of praise but the pay is not very good and the technology is old, i have quite a few opportunities to move for much more money, better technology and training and guidance but then i would not get so much freedom.
I'm a mid-level full-stack c# but I'm spending more time in meetings and writing business cases/documentation than i am coding these days plus i have noone to teach me better practices or tell me off for sloppy code apart from myself.
i would like to stay in my current place - they have been very good to me and are pushing to meet my needs but i will be putting in a lot of effort by myself to push the technology forward.
i enjoy the challenges but i want to make sure my coding skills are always improving.
so I'm thinking either stay and force myself to spend time creating personal git projects / work on open source, or just leave.
also any recommendations on open source projects to get started on?3 -
I just picked up a hobby project which I hadn't worked on in a while and started doing some major refactoring. However, I forgot to pull before I started and didn't realize that I made some updates on a different pc. Then as I wanted to push a ton of changes I noticed... I didn't even attempt to merge because it was one giant pile of shit conflicts - and I didn't remember what changes I had made earlier. So I decided to say fuck it and
$ git force --push
Feels *so* much better than pulling my hair out over conflicts :P2 -
How can you know my mood? Check my git commands. Am I using `git push -u origin SQUAD-feature-branch --force-with-lease` or `git push -f`?4
-
'Cuz every time we merge, I get this feelin'.
And every time we merge, I swear I could diff.
Can't you see my merge conflict, wanna force push commits,
in the remote history of Git
https://youtu.be/4G6QDNC4jPs?t=323 -
How do you protect your team's git remotes?
We tend to protect the master and stage branch from force pushing and only allow merging pull requests after successfull recent tests and successfull review by someone with proper permissions. Depending on the project the Dev branch is only protected from force pushing though. All other branches are free to handle however wanted.
We recently had someone do a "git push -f --mirror" without understanding the command. Quick reminder what that does: it mirrors all your local branches to the remote so that the remote will be a mirror of your local repo. Branches that exist on remote but not on your machine will be removed from the remote.
A then needed to work from B's feature branch but of course that was gone... So while the idiot didn't fuck up our protected branches he still fucked over other people's workflow with that.
Is there an alternative to outright blocking force pushes which could have prevented that (except force pushing intelligence into his brain)?7