Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "merge conflicts"
Thank you dear mr. boss for fucking up our master branch by adding local changes to a 2 months outdated master branch (250 FUCKING COMMITS BEHIND), pull the remote and then just push without resolving any conflicts!!!1!!!
But thank you so much for sending me an email at 10pm asking me to resolve the conflicts.
It is 3 in the morning and it took 1 hour to get it clean.
Sometimes I want to break some necks...9
Me after a large Git merge, after expecting masses of merge conflicts and getting none. Life is good my friend.2
Who here uses `master` for development?
My boss (api guy) tried to convince me that was normal practice. I gently told him that it sounded crazy and very very bad.
Here's the dev path I'm enforcing on my repos:
(feature branches) -> dev -> qa* -> master -> production*
*: the build server auto-pulls from these branches, and pushes any passing builds to staging/production.
Everyone works on their own feature branches, and when they're happy with their work, they merge it into `dev`. `dev`, therefore, is for feature integration testing. After everything is working well on `dev`, it gets merged into `qa` for the testers to fawn over and beat with sticks. Anything that passes QA gets merged into `master`, where it sits until we're ready to release it. When that time comes (it's usually right away, but not always), `master` gets merged into `production`.
This way, `master` is always stable and contains the newest code, so it's perfect for forking/etc. Is this standard practice, or should I be doing something different?
Also, api guy encourages something he calls "running a racetrack" -- each dev has their own branch (their initials) and they push to that throughout the day. everyone else pulls from it regularly and pushes to their own branch. When anyone's happy with their code, they push from their (updated) branch to `qa` (I insisted on `dev` instead.)
Supposedly this drastically reduces the number of merge conflicts when pushing to an upstream branch due to having a more recent ancestor node?
I don't quite follow that, but it seems to me that merging/pushing throughout the day would just make them happen sooner? idk.
What are your thoughts?31
Coworker: You've merged the wrong PR. It is broken.
Me: is it marked as broken? Is there a mail marking it as broken?
Coworker: yes. I wrote something in the chat.
I do NOT read and click every brain fart from the chat. I had the PR (as reviewer and dependent developer) open on my desk and waited for the coworker to fix his merge conflicts.
OK then, try to revert. Git reset hard. Push -f. Policy does not allow master modification. 🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕🖕
Fuck this company. Fuck the policies. Fuck them all with a chainsaw. Forced me to work 2 weeks more. 17.04 should have been my last day at this circus. Let 3 other guys go to vacation while I have fix their management's mistakes. Fuck. You. All. Eat shit and suffocate in piss.8
Fell like I can finally vent this now I've calmed down.
Me: You've fucked the tree again
Junior: No I haven't
Me: It says there "Fixing merge conflicts"
Junior: Well it wasn't me I wouldn't have done a merge
Me: It has your name next to it...
Junior: Well that commit wasn't there a second ago
Me: it's dated for Friday...
Junior: Well if you hadn't committed to master and blah blah blah
Me: We'll if you knew know to use git we wouldn't have this problem.12
- Merging 300 files from one branch to another in TFS.
- No merge conflicts.
My first thought:
This can't be right. I must have done something wrong...3
So this bunch of idiots made this huge iOS app using lots of global variables, lots of spaghetti code and basically no separation between logic and UI.
Another bunch of idiots were told to take that iOS app and basically port it to Android. And they ported that same code mess, almost line by line, and adding some weird shit.
Now the HQ of the first bunch of idiots realize that the second bunch of idiots were too slow/inefficient/whatever, and they're now asking US to solve that Android mess and add another shitload of features.
The worst part of it, is that both bunches of idiots are still working on it, so we're basically forced to follow the same shitty style until the first deadline, otherwise we'd die suffocated by stinky merge conflicts. Which will happen anyway because our changes are going to overlap.
Oh, and the PM refuses to understand the disaster coming and there's six hours of time zone difference.
Fuck this shit.7
Just pushed commit #512 today.
Was a huge refactoring effort which went sooooo smoothly <3
Pull from parent branch without merge conflicts <33
No issues with deployment <333
AND i'm now on vacation 🏳️🌈❤️🏳️🌈❤️🏳️🌈
Things are perfect6
Friends their dream world: Sun, beach, cool drinks, nice car.
My dream world: No merge conflicts, one standard for all platforms, dark themes for everything.
Holy shit balls it works (so far)
So I’ve been working on a project... well feature for the past year (yes 12 whole fucking months - anti agile I know)
And today I got to merge that bitch of a pull request into the current working branch and deploy it to UAT - no conflicts 😵I think I need to put the lottery on tonight!
And some how, by some stupid lucky roll of the dice it just works.
I have never felt so afraid and delighted in my life!6
Get assigned ticket.
Finish the most of the feature. Finish most of the specs.
Second dev wants to own accounting half of the ticket.
Rip out half my changes, rewrite specs.
Code review asks for minor changes.
Product creep creeps the scope.
Finish the feature again.
Product creep creep-creeps the scope.
Finish the feature again.
New release happens.
Merge in master; fix conflicts. Run specs; random unrelated specs fail, some fail intermittently. Rabbit holes of complicated, unexplored, obviously-flawed code.
Fuck that. Push.7
I wish there is such thing as branch in a relationship. So that whenever a couple are having a fight, they can create a branch and work their shit out in that branch and eventually merge to the master branch.
That just costs.... more conflicts3
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
Okay guys, this is it!
Today was my final day at my current employer. I am on vacation next week, and will return to my previous employer on January the 2nd.
So I am going back to full time C/C++ coding on Linux. My machines will, once again, all have Gentoo Linux on them, while the servers run Debian. (Or Devuan if I can help it.)
So what have I learned in my 15 months stint as a C++ Qt5 developer on Windows 10 using Visual Studio 2017?
1. VS2017 is the best ever.
Although I am a Linux guy, I have owned all Visual C++/Studio versions since Visual C++ 6 (1999) - if only to use for cross-platform projects in a Windows VM.
2. I love Qt5, even on Windows!
And QtDesigner is a far better tool than I thought. On Linux I rarely had to design GUIs, so I was happily surprised.
3. GUI apps are always inferior to CLI.
Whenever a collegue of mine and me had worked on the same parts in the same libraries, and hit the inevitable merge conflict resolving session, we played a game: Who would push first? Him, with TortoiseGit and BeyondCompare? Or me, with MinTTY and kdiff3?
Surprise! I always won! 😁
4. Only shortly into Application Development for Windows with Visual Studio, I started to miss the fun it is to code on Linux for Linux.
No matter how much I like VS2017, I really miss Code::Blocks!
5. Big software suites (2,792 files) are interesting, but I prefer libraries and frameworks to work on.
For future reference, I'll answer a possible question I may have in the future about Windows 10: What did I use to mod/pimp it?
1. 7+ Taskbar Tweaker
3. Classic Start (Now: Open-Shell-Menu)
Enhanced text editor I like a lot more than notepad++. Aaaand it has a "vim-mode". 👍
Three way diff viewer, that can resolve most merge conflicts on its own. Its keyboard shortcuts (ctrl-1|2|3 ; ctrl-PgDn) let you fly through your files.
8. Link Shell Extensions
Support hard links, symbolic links, junctions and much more right from the explorer via right-click-menu.
Neither as beautiful as Conky, nor as easy to configure or flexible. But it does its job.
Of course this wasn't everything. I also pimped Visual Studio quite heavily. Sam question from my future self: What did I do?
1 AStyle Extension
2 Better Comments
Simple patche to make different comment styles look different. Like obsolete ones being showed striked through, or important ones in bold red and such stuff.
4 Atomineer Pro Documentation
Alright, it is commercial. But there is not another tool that can keep doxygen style comments updated. Without this, you have to do it by hand.
5 Highlight all occurrences of selected word++
Select a word, and all similar get highlighted. VS could do this on its own, but is restricted to keywords.
6 Hot Commands for Visual Studio
This ingenious invention colorizes brackets (aka "Rainbow brackets") and makes their inner space visible on demand. Very useful if you have to deal with complex flows.
Come on! 2018 and Visual Studio still outputs monochromatically?
That's it, folks.
No matter how much fun it will be to do full time Linux C/C++ coding, and reverse engineering of WORM file systems and proprietary containers and databases, the thing I am most looking forward to is quite mundane: I can do what the fuck I want!
Being stuck in a project? No problem, any of my own projects is just a 'git clone' away. (Or fetch/pull more likely... 😜)
Here I am leaving a place where gitlab.com, github.com and sourceforge.net are blocked.
But I will also miss my collegues here. I know it.
Well, part of the game I guess?7
Finished my project early today. I assumed it would take another day or two since it's primarily research and I had no idea how to progress, but I caught a break and finished it early. I also finished another surprise ticket! yay! I had the rest of the day to myself!
But then I noticed I had been working on the wrong branch. Fuck. Moving my work over was tedious, as was the cleanup. I kicked myself for good measure. Also, every time I switch branches, I need to run a bloody slow script that runs all the migrations, data tasks, backfills, etc. for the branch. It takes 12-18 minutes. There's a faster version, but it usually breaks things.
Turns out the branch I was supposed to be working on wasn't up to date with master. So I merged that in, leading to....
merge conflicts. Because of course there are conflicts. To make matters worse, I had (and have) no idea which changes were correct because idfk what those 248 new commits are doing. So I guessed at them, ran the script, and (after more waiting) ran a few related specs. Yet more waiting. Sense a pattern here? Eventually they finished, and all the specs passed. H'ray. So I committed the changes, and told Jenkins to kick off a full spec suite, which takes 45+ minutes.
La de da, I go back to cleaning up the previous ticket, pushing reversion commits, etc. Later, I notice the ticket number, look at the branch number I've been working on.... and. Fuuuck. I realize I had put everything on the wrong freaking branch AGAIN. I'm such an idiot. Cue more cleanup, more reversions, running the bloody script again and again. More wasted time, more kicking. ugh.
All of this took well over three hours. So instead of finishing at a leisurely 5:00 like a normal person, I finally stopped around 9pm. and I won't know the Jenkins spec results until morning.
A nice early day?
I should know better.2
Ran couple of interviews today I don't think I'm ever gonna forget this guy: He was explaining a time he worked in a team and used version control. I asked how he handled merge conflicts his response:
'If there are merge conflicts I delete their work and use mine, my code is probably better anyway'.4
Today I was talking about merge conflicts with a group of devs. One of them asked if any of us had ever rushed to merge a PR before another dev could merge their PR, knowing there were going to be conflicts. Some were more ashamed to admit it than others, but in the end everyone was guilty of doing it at least once :)
Anyone ever do that to avoid being the one who has to resolve a conflict?2
"four million dollars"
TL;DR. Seriously, It's way too long.
That's all the management really cares about, apparently.
It all started when there were heated, war faced discussions with a major client this weekend (coonts, I tell ye) and it was decided that a stupid, out of context customisation POC had that was hacked together by the "customisation and delivery " (they know to do neither) team needed to be merged with the product (a hot, lumpy cluster fuck, made in a technology so old that even the great creators (namely Goo-fucking-gle) decided that it was their worst mistake ever and stopped supporting it (or even considering its existence at this point)).
Today morning, I my manager calls me and announces that I'm the lucky fuck who gets to do this shit.
Now being the defacto got admin to our team (after the last lead left, I was the only one with adequate experience), I suggested to my manager "boss, here's a light bulb. Why don't we just create a new branch for the fuckers and ask them to merge their shite with our shite and then all we'll have to do it build the mixed up shite to create an even smellier pile of shite and feed it to the customer".
"I agree with you mahaDev (when haven't you said that, coont), but the thing is <insert random manger talk here> so we're the ones who'll have to do it (again, when haven't you said that, coont)"
I said fine. Send me the details. He forwarded me a mail, which contained context not amounting to half a syllable of the word "context". I pinged the guy who developed the hack. He gave me nothing but a link to his code repo. I said give me details. He simply said "I've sent the repo details, what else do you require?"
Dafuq? Dude, gimme some spice. Dafuq you done? Dafuq libraries you used? Dafuq APIs you used? Where Dafuq did you get this old ass checkout on which you've made these changes? AND DAFUQ IS THIS TOOL SUPPOSED TO DO AND HOW DOES IT AFFECT MY PRODUCT?
Anyway, since I didn't get a lot of info, I set about trying to just merge the code blindly and fix all conflicts, assuming that no new libraries/APIs have been used and the code is compatible with our master code base.
Enter delivery head. 2nd motherfucker.
This coont neither has technical knowledge nor the common sense to ask someone who knows his shit to help out with the technical stuff.
I find out that this was the half assed moron who agreed to a 3 day timeline (and our build takes around 13 hours to complete, end to end). Because fuck testing. They validated the their tool, we've tested our product. There's no way it can fail when we make a hybrid cocktail that will make the elephants foot look like a frikkin mojito!
Anywho, he comes by every half-mother fucking-hour and asks whether the build has been triggered.
Bitch. I have no clue what is going on and your people apparently don't have the time to give a fuck. How in the world do you expect me to finish this in 5 minutes?
Anyway, after I compile for the first time after merging, I see enough compilations to last a frikkin life time. I kid you not, I scrolled for a complete minute before reaching the last one.
Again, my assumption was that there are no library or dependency changes, neither did I know the fact that the dude implemented using completely different libraries altogether in some places.
Now I know it's my fault for not checking myself, but I was already having a bad day.
I then proceeded to have a little tantrum. In the middle of the floor, because I DIDN'T HAVE A CLUE WHAT CHANGES WERE MADE AND NOBODY CARED ENOUGH TO GIVE A FUCKING FUCK ABOUT THE DAMN FUCK.
Lo and behold, everyone's at my service now. I get all things clarified, takes around an hour and a half of my time (could have been done in 20 minutes had someone given me the complete info) to find out all I need to know and proceed to remove all compilation problems.
Hurrah. In my frustration, I forgot to push some changes, and because of some weird shit in our build framework, the build failed in Jenkins. Multiple times. Even though the exact same code was working on my local setup (cliche, I know).
In any case, it was sometime during sorting out this mess did I come to know that the reason why the 2nd motherfucker accepted the 3 day deadline was because the total bill being slapped to the customer is four fucking million USD.
Greed. Wow. The fucker just sacrificed everyone's day and night (his team and the next) for 4mil. And my manager and director agreed. Four fucking million dollars. I don't get to see a penny of it, I work for peanut shells, for 15 hours, you'll get bonuses and commissions, the fucking junior Dev earns more than me, but my manager says I'm the MVP of the team, all I get is a thanks and a bad rating for this hike cycle.
4mil usd, I learnt today, is enough to make you lick the smelly, hairy balls of a Neanderthal even though the money isn't truly yours.4
Why is it so hard for a person to admit that they're at fault and listen for a change,
For the nth time I told a certain developer to install a git gui, the answer is always the same,
"It's such a hassle to install one"
You know what is a fucking hassle?
Fixing your fucking mess is a hassle,
Resetting the wrong branch you overwrite is a hassle,
Cleaning up your merge conflicts is a hassle,
And doing all of the above just before going home is a fucking hassle,
Fuck it, it's only a couple of days before I left for good anyway,
Not usually a person to rant about spacing and conventions but this is great.
4 devs, all using IntelliJ. Now IntelliJ auto-changes tabs to spaces which is nice, and GitHub doesn’t really care as long as the spacing is consistent. Now here is the fun part: 2 devs have 4 spaces per tab, 1 has 3 spaces, 1 has 5 spaces.
GitHub merge conflicts everyWHERE.
And yes it isn’t the old 2 vs 4 spaces. It’s 3 vs 4 vs 5 somehow6
Tunes throughout the work day...
Queen, Don't Stop Me Now
Working on same bug for hours:
Muse, Supermassive Black Hole
Jay Z, 99 problems
In the zone coding:
All bugs squashed, deployed, going home:
Louis Armstrong, What a Wonderful World1
Other Dev: I worked really hard over the weekend to get the issue fixed, I raised a PR but it has a zillion merge conflicts. Would you mind taking a look at it?
Me: Ok. *Changes base branch away from Master.*
Other Dev: Whoa! How’d you fix them that so fast???
When some one at the company decides to branch off from the main codebase and end up with several outdated and separetely modified branches for two years.
Yeah nice work genius and good luck with resolving over 250 files of merge conflicts.
Just kill me now 😭1
We had 1 Android app to be developed for charity org for data collection for ground water level increase competition among villages.
Initial scope was very small & feasible. Around 10 forms with 3-4 fields in each to be developed in 2 months (1 for dev, 1 for testing). There was a prod version which had similar forms with no validations etc.
We had received prod source, which was total junk. No KT was given.
In existing source, spelling mistakes were there in the era of spell/grammar checking tools.
There were rural names of classes, variables in regional language in English letters & that regional language is somewhat known to some developers but even they don't know those rural names' meanings. This costed us at great length in visualizing data flow between entities. Even Google translate wasn't reliable for this language due to low Internet penetration in that language region.
OOP wasn't followed, so at 10 places exact same code exists. If error or bug needed to be fixed it had to be fixed at all those 10 places.
No foreign key relationships was there in database while actually there were logical relations among different entites.
No created, updated timestamps in records at app side to have audit trail.
Small part of that existing source was quite good with Fragments, MVP etc. while other part was ancient Activities with business logic.
We have to support Android 4.0 to 9.0 of many screen sizes & resolutions without any target devices issued to us by the client.
Then Corona lockdown happened & during that suddenly client side professionals became over efficient.
Client started adding requirements like very complex validation which has inter-entity dependencies. Then they started filing bugs from prod version on us.
Let's come to the developers' expertise,
2 developers with 8+ years of experience & they're not knowing how to resolve conflicts in git merge which were created by them only due to not following git best practice for coding like only appending new implementation in existing classes for easy auto merge etc.
They are thinking like handling click events is called development.
They don't want to think about OOP, well structured code. They don't want to re-use code mostly & when they copy paste, they think it's called re-use.
They wanted to follow old school Java development in memory scarce Android app life cycle in end user phone. They don't understand memory leaks, even though it's pin pointed by memory leak detection tools (Leak canary etc.).
Now 3.5 months are over, that competition was called off for this year due to Corona & development is still ongoing.
We are nowhere close to completion even for initial internal QA round.
On top of this, nothing is billable so it's like financial suicide.
Remember whatever said here is only 10% of what is faced.
- An Engineering lead in a half billion dollar company.7
Current work project: Ok where is the master branch?
Coworker: Oh we lost that one a few months ago due to some merge conflicts...7
Wooooooow i forgot how some people are kind of enaugh.
Today i had terrible day resolving a looooooooot of android merge conflicts by updating patched repos because some were updated and some werent.
And well i texted a maintainer of the repos if he could find some way to make the source buildable again by downgraiding the sources.
Maaaaaaan was i suprised when he sent me an python script and all the ID of commits in each repo and which one was latest so i can make it buildable.
Maaaaaan if everybody was like this then the world would be a loooooooot better place.
Saved like 2 weeks of time that i would have spent on git resolving all the conflits.
Now im building and i can fix SElinux issues finally.
OHHHHHH im so happy.
This whole Microsoft & GitHub thing is how it begins:
oh it's really cool, Microsoft is adding some cool features we've been missing for a while, GitHub is still great
Alright, there's this new `msgit` that has some really cool features for rebasing and merge conflicts, I won't need to worry about fucking up my git history
`msgit` is not compatible with `git` and GitHub requires us to use it, but what can we do, all our code and build triggers are set up..
I don't want to paint dark clouds, but I heard this theory at work and it makes sense that Ms would take it in a direction where people are locked in to their ecosystem. It won't happen immediately, but all signs point to this.
We're having a mini-hackathon at our school last Saturday as a final exam of our Web Engineering course, showcasing what we learned throughout. The theme is all about helping university students gain their productivity and improve their interaction with technology.
Me and my team tried to create a note-sharing platform for students. We loved the idea and we're so excited to create it. But excitement turned into shit hole during development.
A fuckton of merge conflicts, divisive code conventions, and usage of god-awful Bootstrap for front-end came in. 😱😬😣
Despite these things, we are able to win the hackathon (i still can't believe we won). but he worst part of winning is that the prize is not cash nor the internship (the judges are from the company who somehow looks for interns), but fucking useless GIFT CARDS!!
But in the end, we're proud of it. I thought that it will be just a concept but in the end, it became real and it turned out to be great. ☺4
Today is a great day ! Deadline is tomorrow, fixed all the issues, looks like everything works...
CONFLICT (content): Merge conflict in xyz
CONFLICT (content): Merge conflict in abc
Automatic merging failed; fix conflicts and then commit the result.
I hate my life :)
* Builds Project and Hosts it *
* thinking * : * ' I don't really need to push to Master, I'll just push it to the deployed branch *
Me: * tests project from host *
Me: * sees a bug, fixes it and rebuilds the project, hosts it and pushes code to deployed branch *
Colleague: Dude did you see the Typos you made? Fix them!
Me: In my defence, I wrote this at 4am in the morning, did not sleep for 2 days.
Colleague: Don't Care, fix it.
Me: *Creates Hotfix Branch from Master*
* INSTALLS DEPENDANCIES AND FINDS OUT A NEW VERSION IS OUT AND UPDATES THAT AS WELL *
* Runs Project and finds out it's not the hosted version. *
* Merges Deployed Brunch to Hotfix Brunch and this happens *
Error Message: Unexpected token
620 Merge Conflicts
I just broke out of merge-hell.... It was a mere 2 and a half hours... But my migraine says it was eternity.... 😶
Yesterday I had to merge new features. As these have been developed by one developer, I thought "hey, that'll be no problem". Little did I know that every one of the 6 branches had merge conflicts *sigh*. These merge conflicts were so severe, that there where sometimes two methods in the same class with the same name doing different stuff in each branch... Normally I would tell her to fix her stuff but as she is on vacation right now, I had all the fun resolving the conflicts of code I hadn't written and repairing the failing unit tests she wrote.
The best thing is that our software will be featured in one of the most renowned business magazines at the end of the week while simultaneously being presented at a congress in Berlin in front of over thousand of potential new customers. So these knew features have to be running stable in production by then... Needless to say I had a great day yesterday and will have an amazing upcoming week 🎉3
There is this project where the develop branch is "discontinued" because this moron "finished" a feature that is all fucking broken and I could not figure out how to solve all those merge conflicts...
I just gave up and told my stupid boss who just nods and laughs at everything... If it ever comes up I'm gonna tell them to get the fucker to solve it.1
From a Dev at my old place: Don't use git for such a small project, I think we should use email to send our code to each other.
Turned out that this "small project" was a piece for a larger project.
Also turns out there's such a thing as merge conflicts outside of git.
Our code was broken for 3 days once because of his shitty advice.2
So there is a 50/50 chance I am getting flamed af tomorrow during code review because of my branching/merging actions on thursday and friday... Merge conflicts... We all love them...3
INTELLIJ YOU PIECE OF SH*T, I CLICKED "SMART CHECKOUT" NOT MERGE 2 UNRELATED BRANCHES, SCREW UP MY MASTER AND DON'T LET ME RETURN UNTIL I FIX ALL MERGE CONFLICTS.5
*working at a project, currently creating commits and pushing to remote
I created an early PR with a title [UNFINISHED] and [NOT YET DONE]. I'm really not finished yet. lots of stuff still need to be committed and pushed to repo
And suddenly, I find out that my team mate - just out of the blue without any prior warning - MERGES THE PULL REQUEST
"oh hey there are conflicts in the pr you made"
YEAH WELL MAYBE TRY GETTING YOUR HEAD OUT OF YOUR ASS WHAT IS WRONG WITH YOU ARE YOU EVEN SANE
So now what happened is half of my commits are merged, he didn't tell me, i pushed more commits, branch recreated, and then he reverts the merge. so now everything is really messed up :)AS)D(F)AEF)SDF)AW)sfdjsigkl;zfghlkkj ghaslkj;gabsd;lkgjabslkfgh GET YOUR HEAD OUT OF YOUR ASS I WANT A PROMOTION4
The one skill I know that I am really proud of is GIT.
Put me into trouble with merge conflicts.
Saved my life with its version control.
Always had an adventurous ride with Git. Hope to have many more such rides and get to learn more about you.
Trying to resolve merge conflicts and you cant remember which changes are the ones you want to keep. Lesson learned, make sure your pull requests dont sit waiting for weeks while master is happily being worked on.2
Take your time with merge conflicts, and put the entire file in another editor in case you really mess up.2
When you offer to help out a fellow coworker on the top priority feature he is developing and he just sends you the branch and stops working on it.2
The day we had to have an app ready for an upcoming demo. Management said everything needed to be done by the end of the day. My change was done, but was dependant on another change being merged first. I had been in the office since 8am. It didnt get merged until 5pm. I was in the office until 8pm trying to fix the insane merge conflicts. In the end i gave up and went home. The next day we discovered that the "deadline" was made up anyway so we still had time. I wanted to flip every single table in that office.1
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.28
My "senior developer" colleague just committed 300Mbs worth of node modules in addition to static files bundle. So not only I have to wait 20mins for the changeset to download on this god damned internet over barrels connection but also resolve merge conflicts on 100+ files. You think that was a mistake? Oh no I've asked him about it and it was intentional ...1
I was minding my own business, fixing merge conflicts for my project lead when it struck.
There, in the middle of a React.js component, was a table, used not for displaying data, no, but for styling a form, which was not a form, but a series of table rows.
I feel sick
Typical Git work flow on a feature branch:
Commit#1 : The silly feature itself that took 10 minutes to code
Commit#2 : Added unsaved files
Commit#3 : Fix unit tests
Commit#4 : Fix
Commit#5 : Fix
Commit#6 : Fix
Commit#7 : Various Fix
Commit#8 : Added unsaved files
Commit#9 : Merge
Commit#10 : Fixed unit tests
Commit#11 : Code Review tasks
Commit#12 : Revert- Code Review tasks
Commit#13: Refactor part 1
Commit#14: Refactor part 2
Commit#15: Deleted unit tests
Commit#16: Added checking for null
Commit#17: Completely different feature's bugfix
Commit#18: Code review spacing corrections
Trying to merge, then merge conflicts.....2
I have a co-worker who won’t stop “refactoring” our codebase. He will go on a long tangent — under the guise of working on a proper story — and then reveal proudly after a few days that he now introduced a new middle-layer into the code which will help us such and such.
I have never seen any benefit from this. I think sometimes cleaning up variable names is nice, but a lot of the things just add noise and complexity. He’s a junior dev, I’m a senior dev. My progressional opinion is that he is doing a bad job. Management doesn’t know the full extent and the lead programmer scolds him every now and then but in the end let’s the code changes pass code review. “It has already been implemented so what’s the harm”.
Then the rest of us are stuck with horrible merge conflicts. I recently noticed that some new business-important unit tests that I wrote were mysteriously gone. Oops — lost in some misguided refactoring I guess. I’m assuming they were failing after the refactor, so clearly they had to go... Fortunately the underlying logic still works I think.
His main tactic in all of this seems to be to just use argumentative stamina. He will lose discussion after discussion but doesn’t seem to care. He’ll just talk and talk. And the in the end the lead tech gives in. And/or doesn’t have the energy to catch the error introduced.
I swear, the company would be better off without him. Maybe even better if we keep paying him but he just cleans the toilets instead. Sometimes I almost believes he gets up in the morning to come to work and just fuck with people all day.2
Created a merge request for a big issue last week. Some dumbass co-workers merged several other stuff for tiny shit issues that lead to many merge conflicts now because they didn't pull before..
Nevermind.. will be merging develop into my branch for the third time now.. Got already 20h of extra work because no one minds to merge my request because it's so big and someone might have to check the commit messages what really happened..
Conflicts suck! Co-Workers suck!
Questions/best practises for git?
- use present tense in commit messages. (why though?)
A friend of mine also starts his commit messages with either [Task] or [Cleanup]. Useful for finding Commits in Gitlab etc, because only the first line is shown from the message.
Also, one teacher recommended the usage of branches and the other didn't because of alot of potential merge conflicts when working in a Team or a larger Collaboration. What are your thoughts?
Sorry for the messy post, have a hangover4
Just happened today!
So since this morning we've been trying to get our website ready for UAT deployment Monday next week, even though we only were told of it yesterday. Since we had some critical merge conflicts to unscrew on our dev branch for promoting to UAT, we sent a warning to everyone on our hipchat group
Dev team: @all please don't commit anything to the repo for an hour or so while we get the branch good for dev and uat build
Tech lead: ok
That should be enough warning, right? Surely our tech lead, who has been piling up our scope creep trying to please our stakeholders, understands well enough not to do a single goddamn thing on our repo until we sort it out, right?
10 minutes later our tech lead pushes several changes that not only break our builds but also remove all our configuration transformations. I just stormed out of the office to avoid sending her on a one-way ticket to slapsville and fuckyoutown. Geez goddamn louise.
"No merge conflicts, ready to commit."
Such sweet words from TortoiseHg, and it's not even valentine's day!
Why do some developers rebase or resolve merge conflicts when you can just email each other changes and force push?4
How to deal with merge-conflicts:
1. You don't
2. Just clone the whole repo anew again and start over dude
Made lots of features to a side project that I was gonna publish in uni. There was some merge conflicts. And I tried to fix by copying files from a backup of the repo I was using.
Accidentally deleted the latest repo instead of the backup. All additions were uncommitted.
That was when I started taking special care with VCS
Just found out that something like this would actually work in Java:
int a = 2;
int b = 1;
b = 2;
I know about the variable scoping part, but that doesn't means if the language allows this kind of shitty code you should use it.. Fuck took me 15 mins to resolve the merge conflicts. As during merge the 1st case was partially removed. And the code was filled with these kinds of logic. This could have been done in a minute without the shitty code..5
Got through 4 hours of merge conflicts before pushing to prod... I imagine this is how doctors feel during an operation... #ef
What if all devs worked together to create a programmed God which only obeys devs? And hates bosses....
I think we can do it guys!
Ps. Bagsie not dealing with merge conflicts.10
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
Merging one git branch into another when it conflicts an added line or function.
Like really? You can't handle ONE LINE being added?6
about 12 hours, from 8am - 8pm
We were working on an iOS build for a demo and were told that day was the deadline for having code merged. I got kinda shafted cos I needed someone elses code merged before I could finish mine. It got merged at like 5pm and then everyone went home leaving me with a ton of merge conflicts to deal with. I gave up at 8pm and went home. Found out the next day that the deadline was horse crap anyway....1
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2
To branch or not to branch? (in developing software multiple features, releases...) (git)
I've been searching a lot of posts and info on the internet ( http://bit.ly/2kBLcar http://bit.ly/197szRP ). In summary, some people say it is better to branch and others the opposite. What do you think?
My conclusion was: let's branch but let's merge periodically to minimize merge conflicts.1
Yesterday i went coding, tired as hell. I told myself “Atleast i get smth done“ i was wrong. Redid everything and now expect many merge conflicts when i get home1
npm has to be the single worst package manager on the planet... Trusting devs to use semantic versioning properly and forcing devs to trust authors of dependencies to use it properly is nothing short of insane. The package-lock that is "supposed to be version controlled" causes *constant* merge conflicts. Using shrinkwrap in its place is borderline useless because it Doesn't. Lock. High. Level. Dependencies.
I don't know who designed this, but I want to give them a very bad day for every hour I've spent trying to lock versions correctly on a live project.
Not to mention requiring root by default to install things that can just run whatever they want is ludicrous.2
Coworker just showed me how he avoids merge conflicts and I'm undecided on it. We use feature-branch workflow, so if a feature takes a long time to finish, it may mean merging master multiple times. He avoids it by stashing changes instead of committing them, then when he needs to merge master into the branch it's still clean. When the feature is done and he's ready to commit, he pops the changes and git diff shows all the changes before you push and you just change what you need instead of being forced to use the horrible merge software.
There must be problems with this, right? This seems too easy for it not to be the standard.6
Management wanted all features finished by close of business yesterday to start testing before a demo next week.
I started work at 8am to get my task out of the way early. Unfortunately there was another persons task that mine was dependant on. I kept telling people it needed to be merged so i could integrate it with my changes.
It was merged at 5pm.
I was still fixing merge conflicts at 8pm. 😑1
Waiting to merge the rest of the team’s new code because you don’t want to deal with migrating your test account to a new backend until your feature’s ready, finally finishing your feature (!) and then seeing 100+ merge conflicts and realizing you‘re better off just re-implementing all your feature code into a new branch, & deleting every trace of your old branch so nobody sees the 1000+ merged commit mess you’ve made -_- today was supposed to be easy...
WHY WOULD ANYONE NEED THREE DEPENDENT SUBMODULES ANYWAY?!?! 😩1
When you git pull and there are merge conflicts and you commit without resolving conflicts and you push 😂😂1
That moment when you go to merge a branch and realize no one rebased for 3 weeks and your whole day will be merge conflicts...1
When a junior developer forks new feature branch from his old feature branch and not from develop branch causing merge conflicts later!1
One thing I absolutely hate is resolving merge conflicts but if Git wouldn't have been there, I would have not liked that..
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
I have been fixing tests all day and some other dev managed to cause merge conflicts, now my branch is in a permanent state of merge after I pushed with force.. I'm done...
This crisis is also hitting our company and don't know what that's means of me as I just joined...
I'm glad it's weekend1
Recently i switched from using git with gui tools to just console, and love the speed and reliability increase, but guys do you really resolve merge conflicts in console? Is it effective/worth getting used to?4
Things I have come to expect in my future since being on DevRant: shitty timelines, both funny and cruel office pranks, PMs who have no idea what they are actually managing, clients and some coworkers not knowing what my time and work is worth, merge conflicts for reasons unknown1
Waiting for code reviews from the lead dev. Often it ends with a branch sitting untouched for weeks and becomes a pain of merge conflicts.3
Semiunusual state here. Have a branch I'm trying to merge into develop and there are a LOT of merge conflicts, some head way has been made in this merge branch..
I'm wondering is there a way to "suspend" the branch/merge progress and go back to develop?10
I have a git feature branch with my commits but also have merged the changes from the main branch to resolve merge conflicts before PR.
But now need to create a special release with just my changes.
So I think have to cherry pick all my commits on my branch some the last Release. How can I do that?
Develop (others) + Feature => Develop
Want to create new branch
Last Release + Feature (but only my commits since last Release)4
This is so fucking stupid. Fuck. When they log defects on jira for different issues on the same page but in different tickets I end up having merge conflicts with myself. Like are you fucking kidding me?
when you merge changes from other branch, made by other team, and see that huuuuge old project is now basing on dependency injection instead of one singleton- manager approach. Even merge conflicts look beautiful!
Had a new dev take us to merge conflict hell due to rebasing... we have meeting saying we are going to do git flow.....
manager who agreed makes branch project/releaseName based off of develop only to have us mr to that branch to then mr back to develop....
Had massive conflicts mr into that branch (i kept up to develop) and then had conflicts mr that branch to develop........ on a sunday night... great2
getting tons of fucking merge conflicts on rebasing remote branch with current master because that mockerfucking code review is still pending
Have a question about git rebase with android studio.
So I have a feature branch which I finished working on, I made a pull request to develop branch and now I see many conflicts because develop is few commits ahead.
In android studio I switched to my feature branch, then did a git rebase develop and resolved all conflicts. After conflicted files were fixed I did a git add conflicted_file and continued with git rebase --continue until the end.
Now everything is finished. I have a local feature branch that was rebased to current develop, and I resolved all conflicts.
Problem is when I do a git push to my remote feature branch, I get a merge conflict error conflict from android studio and now I have to solve all merge conflicts yet again for some reason.
What I am doing wrong?2
Hello World! Question, what do your team usually do on the last day of work? We prefer push and merge our project branches and resolve conflicts, because nobody wants to write code 🤣1
I use GitKraken to only to resolve merge conflicts. Recently, they decided to make app unavailable for private repos.
Just rebase a merge conflicts with LFS enable. What a fucking nightmare. And bitbucket, please eat a dick you useless cunt.