Merge conflicts
-
This post did not contain any content.
I'm a purist. The stable and persistent main branch, regardless of what you want to call it, should always and only ever be exactly the same as the code that's currently deployed to the production server. Generally the only exception is for the short duration between a push and deployment under normal circumstances.
But every job I've ever had, there's at least one maverick who knows git way better than anybody else and is super advanced, so they do their own thing which is totally better in a million different ways but essentially fucks everybody else over. And I'm not even here to say they aren't smarter than the rest of us and I'm sure that somehow their process is better than what we currently do. But with version control, my anecdotal experience has been that the most important things for running smoothly are: consistency and having everybody on the same page. Process doesn't need to be perfect, maximally efficient, bleeding edge, etc to achieve that.
-
This post did not contain any content.
Main* branch.
Don't want to sound racist
-
We have a
deployed
branch. It doesn't get merged intomaster
until it gets reviewed... the technical debt got too big so it never gets reviewed and we just keep branching offdeployed
We build off develop and only update master once a year or so. Our company also pays 4 V&V engineers, compared to 9 software devs.
After a release cycle, we update master. Master has never, never been built by itself.
-
I'm a purist. The stable and persistent main branch, regardless of what you want to call it, should always and only ever be exactly the same as the code that's currently deployed to the production server. Generally the only exception is for the short duration between a push and deployment under normal circumstances.
But every job I've ever had, there's at least one maverick who knows git way better than anybody else and is super advanced, so they do their own thing which is totally better in a million different ways but essentially fucks everybody else over. And I'm not even here to say they aren't smarter than the rest of us and I'm sure that somehow their process is better than what we currently do. But with version control, my anecdotal experience has been that the most important things for running smoothly are: consistency and having everybody on the same page. Process doesn't need to be perfect, maximally efficient, bleeding edge, etc to achieve that.
But every job I've ever had, there's at least one maverick who knows git way better than anybody else and is super advanced
Pretty sure that's me at my job, but I take your approach too.
I just have lousy coworkers who keep a bunch of stale branches open with no real maintenance plan. Thankfully I kind of work in my own bubble and generally avoid that jungle
-
We build off develop and only update master once a year or so. Our company also pays 4 V&V engineers, compared to 9 software devs.
After a release cycle, we update master. Master has never, never been built by itself.
wrote on last edited by [email protected]I'm a software engineer, and I don't even know what a v&v engineer is.
-
Main* branch.
Don't want to sound racist
wrote on last edited by [email protected]I'll never understand why we didn't just go back to saying "trunk".
-
I’ve been a dev at 8 places over 28 years and have never heard of this level of incompetence since git came along. Prior to git, with cvs, svn, tfs, vss - yeah, lots of incompetence because the tools sucked. Git solves all those problems tho!
The real problem is stupid/lazy people, which no amount of tooling can address.
-
I'm a software engineer, and I don't even know what a v&v engineer is.
Verification & validation
-
I'll never understand why we didn't just go back to saying "trunk".
"Trunk" is nice because it fits with "branch" in the tree metaphor, but "main" does have fewer letters.
-
You doth protest too much. Wonder why
Because the argument is stupid. Much like pointers not being a good term to use because it’s rude to point. Or man pages being sexist.
-
I'm a purist. The stable and persistent main branch, regardless of what you want to call it, should always and only ever be exactly the same as the code that's currently deployed to the production server. Generally the only exception is for the short duration between a push and deployment under normal circumstances.
But every job I've ever had, there's at least one maverick who knows git way better than anybody else and is super advanced, so they do their own thing which is totally better in a million different ways but essentially fucks everybody else over. And I'm not even here to say they aren't smarter than the rest of us and I'm sure that somehow their process is better than what we currently do. But with version control, my anecdotal experience has been that the most important things for running smoothly are: consistency and having everybody on the same page. Process doesn't need to be perfect, maximally efficient, bleeding edge, etc to achieve that.
What are the maverick git workflows? When I had a web developer job, it all seemed pretty straightforward and I can't imagine doing it some other way and it being a good idea.
-
We use main now
This is the way.
-
We have a
deployed
branch. It doesn't get merged intomaster
until it gets reviewed... the technical debt got too big so it never gets reviewed and we just keep branching offdeployed
Well, when you said "we have a deployed branch", you could just have stopped there. All the rest is just what happens after you decide to rename your master branch.
-
Because this whole discussion is fucking stupid. There was no good reason for a change.
The good reason was that it bothered some people. "Main" is two fewer letters, so it's even more convenient to type. So what's the problem?
-
I like the actual look of the word "main" more than I do the word "master". I think it's because it looks like a neat semi-circle
It also makes more sense.
-
We build off develop and only update master once a year or so. Our company also pays 4 V&V engineers, compared to 9 software devs.
After a release cycle, we update master. Master has never, never been built by itself.
Depends on the field you're in. At my previous company to release a new system for internal use only I had to go through 19 validations(each one 50-100 pages of manual tests). None of it had real source control except uploading final zip of files(no source code, just the enable files).
I wrote all the files, wrote all the test cases, wrote all the documentation, executed everything and wrote most of the reports. They just fired me last week so hope they have fun when they need to update something....
-
We have a
deployed
branch. It doesn't get merged intomaster
until it gets reviewed... the technical debt got too big so it never gets reviewed and we just keep branching offdeployed
wrote on last edited by [email protected]Yes, we've had first
master
branch, but what about secondmaster
branch? -
Because the argument is stupid. Much like pointers not being a good term to use because it’s rude to point. Or man pages being sexist.
wrote on last edited by [email protected]I've never heard that pointer bullshit at all. Can you link it?
"Man" for "manual" is just an antiquated term kept around by Unix curmudgeons. "Help" is much better as it requires no explanation and conveniently is automatically abbreviated to its full name. It's the common term used in most other systems that aren't linux.
'Man" isn't sexist, it just sucks.
-
The good reason was that it bothered some people. "Main" is two fewer letters, so it's even more convenient to type. So what's the problem?
European here. I'm a supporter of civil rights and against racism and so on, but that controversy with master vs main for me is just a silly us american controversy, as master has more meanings that just owner of a slave (and in this context, it's not even related to that master-slave thing as used to be in hardware naming).
The issue is that kind of (in my pov, unnecessary) change caused an outage in my company as some k8s objects changed its label because of this kind of controversy, and some of our selectors were not ready for that change, as iirc this happened in a minor version upgrade. We also had to invest development hours to update internal tooling to support that change too (and I bet, a lot of companies did the same).
-
"Trunk" is nice because it fits with "branch" in the tree metaphor, but "main" does have fewer letters.
Yep, the metaphor would be good if git was a tree but kt isn't. It's very rare to have a real tree branch merge back into the trunk. Would it even still be called a branch after merging?