83
votes
Accepted
Maintaining Two Separate Software Versions From the Same Codebase in Version Control
Instead of having two code version with a common base you should design your application in a way to make those premium features plug-able and driven by configuration rather than different code bases.
...
39
votes
Maintaining Two Separate Software Versions From the Same Codebase in Version Control
I strongly recommend not using branches for this purpose. In general, you should consider branches for things that will be (or might be) merged back together again later (or for release branches, ...
34
votes
Accepted
Is using Git Stash as a workflow an antipattern?
From the Git SCM Book:
Often, when you’ve been working on part of your project, things are in a messy state and you want to switch branches for a bit to work on something else. The problem is, you ...
22
votes
Wouldn't it be beneficial to write tests during code review?
This is a wonderful idea, with one caveat. Don't replace developer written tests with reviewer written tests. Have your reviewers look for corner cases and inputs that will break the code. In other ...
20
votes
Is there a purpose for using pull requests on my own repo if I am the only developer?
Pull requests are created so someone can review the work, make comments, suggestions, make or request edits and then merge the code to master.
In your case the someone is you.
As the sole developer ...
18
votes
Wouldn't it be beneficial to write tests during code review?
I don't think the idea is entirely without merit - however, the main benefit of the TDD et al is that problems are found early. The developer is also best placed to spot which corner cases may require ...
15
votes
Dealing with a large pull request
Let the developer who went for a couple of months without merging fix it. Maybe they can get one big chunk of code to merge, maybe they can get a bunch of little chunks to merge one at a time. In ...
12
votes
Accepted
Developers blocked by waiting on code to merge from another branch using GitFlow
The issue might also lie in a too rigid separation of task between back-end and front-end development.
If a front-end developer need a new API, isn't it possible to allow him or her to create a ...
10
votes
Accepted
How do I keep two git projects in sync with each other?
but I want to separate out the library part into a separate repo, in preparation for eventually releasing it.
Separating the library has a few implications. One of them is that others will use your ...
9
votes
Accepted
Best practices when designing a workflow engine using timers?
You can design your control flow the other way around to avoid multiple timers.
When you send an email, store any context you need for a response. E.g. write this context to a database or file.
...
8
votes
Maintaining Two Separate Software Versions From the Same Codebase in Version Control
We are using 2 separate projects, the Basic one and the Premium one that depends on Basic project. Do not use braches, they are usually used for features.
8
votes
Accepted
Test driven development workflow for two programmers
In TDD, writing tests and code is interwoven, the cycles are typically very short, sometimes minutes, sometimes less. And TDD is a whitebox technique - when writing the next test, you know exactly ...
8
votes
Git(flow) workflow for web development
This is very similar to a successful git branching model that we've employed in my workplace - it works wonders for us (though we differ slightly from your branching a little, and put the git tag on ...
8
votes
Accepted
Should collaborators on a private Github repository each fork the repo?
Cloning the repo to the developer's local machine is already a kind of forking. If each developer forks the repo on GitHub, this only serves to publish their current state of work.
This can be ...
8
votes
Accepted
Should I have a 'dev' branch separate from a 'production' branch?
I feel that this is overkill for a single person working on a single web application.
I would use tags to give version numbers to versions you release to the production server. The staging server can ...
8
votes
Accepted
One function to produce a couple or a function per item?
What you are asking for has not much to do with the particular problem of AST processing. The question you are asking is
I have to design an API for a component, the API needs to provide different ...
8
votes
Accepted
How to deal with getting stuck on solo projects
Theres no magic fix. Your only choice is to limit your exposure to these types of problem.
This is obviously a general rule, but I think its especially true with solo projects. Where you really don't ...
7
votes
What is the value of workflow tools?
There is only one real benefit, yet its huge:
Separation of Concerns.
So, instead of process orchestration logic being embedded in our system, it becomes and external configuration. A map, basicly. ...
7
votes
How to cleanly add after-the-fact commits from the same feature into git tree
When you merge into master, you are essentially declaring "I'm done". It's like dropping your mail at the post office, or signing a lease. You can't change your mind after merging (of course, in ...
7
votes
Is using Git Stash as a workflow an antipattern?
I personally only use stash for short, unexpected interruptions, like someone asking a question that requires changing to a different branch. I do this because I have forgotten about stashes before, ...
7
votes
How Best Can I Use Git When My Employer Uses VSS?
You're forgetting something - standard workflow with VSS is:
checkout working copy
(optionally complain others have some files locked)
do work on files
(optionally deal with complaints that you have ...
7
votes
Workflow, editing things not in your current task
Personally, I think it depends :-).
For small fixes, option three (now, in a seperate commit) is best, because the overhead of doing it later is not worth it. In that case, you just create a separate ...
7
votes
Accepted
Wouldn't it be beneficial to write tests during code review?
Wouldn't it be beneficial to write tests during code review, by the person doing the review?
I have found that a good time to write tests is when you realize you need a test for a situation.
Task ...
6
votes
Developers blocked by waiting on code to merge from another branch using GitFlow
Your problem: Developer A branches from Master, developer B branches from Master, both work on closely related features, and the inevitable fact that the merges into the Master branch are difficult ...
6
votes
Accepted
Workflow for obfuscated PHP code with PHP protect
Maintain two identical hardware/software platforms: a production platform and a test platform. When an error occurs, reproduce it on the test platform. Then, upload the unobfuscated code to the test ...
6
votes
Advantages of workflow based software development vs normal programming based software development
Following Doc Brown's advice, I've cobbled together an answer from the comments I had posted on this page.
In my experience, the theoretical selling point behind workflow systems is that you don't ...
5
votes
Accepted
Git work-flow for uncertain premise (pending decision)
Create a new development branch - let's call it "dev-with-dep". That branch will be rebased against master, and all the feature branches that depend on the new dependency will be rebased against dev-...
5
votes
Workflow, editing things not in your current task
Consider this. When you "find annoying things (...) to clean up" and you make an executive decision to do so, you're cutting the rest of your team out of a priorities discussion and decision. You're ...
5
votes
Should collaborators on a private Github repository each fork the repo?
This would work, or you could use a branching method where each contrib has their own branch(es), that when the team agrees, are merged with master.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
workflows × 253git × 94
version-control × 30
github × 18
teamwork × 14
branching × 14
web-development × 13
php × 12
gitflow × 12
project-management × 11
testing × 10
architecture × 9
continuous-integration × 8
programming-practices × 7
svn × 7
design × 6
design-patterns × 6
deployment × 6
java × 5
agile × 5
development-process × 5
modeling × 5
dvcs × 5
jira × 5
object-oriented × 4