Git / SCM Workflow: Change Processing When QA Detects Issues

I am trying to migrate our organization to Git from SVN. Our workflow now looks something like this:

  • Developer makes changes, then goes to beta
  • QA detects errors and then informs the developer of how to fix them.
  • GOTO 1. Repeat at least 5 times. (We do not have a set of tests. Another problem ...)
  • Peer Review
  • At the end of the sprint, the branch manager combines all the code that is marked as ready for the main branch.

I see Git as potentially helping a lot with steps 4 and 5. In particular, viewing peer-to-peer code is really difficult when there are 10 commits, with a potentially large number of commits between *. I know that using Git it is easy to undo commits, potentially creating one commit for each function / error to check. Answering my question:

What is the best Git workflow for a scenario involving long QA back and forth?

Keep in mind that I face some resistance to change, so the simpler the workflow, the more likely it will be accepted. Also keep in mind that this is a Web Dev project, so QA tests are against the beta server, not local, so QA switch branches are not really an option.

* - , .

+5
3

, . , QA peer-, .

-, , - , , , "oops, QA , , ". , git - , , , , git rebase -i. , , . , , other .

, ( "private") ( "" ) , . , QA , -, , , .

-, , . , , , - . git , some , , , , git. , , github .

+3

, Git, . Git . , , , , .

-, QA develop ( Dev QA, qa, develop). :

  • feature-X bugfix-Y.
  • develop .
  • QA , .
  • GOTO 1. X .
  • , , // , merge commit .
  • develop release-candidate QA master, .

, . , /bugfix , .

+2

SVN Git, Git . , 3 ... , Git :

nvie . , 2-3 . , , Git . , , " ". , , Git, , , . , , ( ).

( ) Git , Beta . , :

  • Beta
  • . Git , / . , , , , ( ).
  • , dev...
  • Beta , master dev.
  • Beta dev .

, , dev. (Beta), .

Git , . , , . , , git commit --amend . , , n.

From your description, this sounds like unit tests, and more responsibility for quality code from your developers is the best investment right now. Git alone will not solve your problems, but it can at least help. You will have more options to customize your development process using DVCS, such as Git. And let it look ... Git is just more interesting than Subversion.:>)

+1
source

All Articles