Hello everybody, I'm learning git since I'm planning moving from Bazaar. I've been reading the documentation and the progit book, which is excellent. I'm a bit confused In the chapter: http://progit.org/book/ch5-1.html#integrationmanager_workflow : "Integration-Manager Workflow" I need to manages a project with several developers. Those developers are split into teams. I'm planning these: * A central repository using the http protocol. This central repository would be only writable by myself, it would have http access for the developers and ssh access for me. * Every team would have ssh access to their repositories. i.e. team1.myserver.net, team2.myserver.net * I want at least three branches: master, test, and develop. The path would be: develop(development version) -> test (beta) -> master (stable) * I don't want any developer to write into the develop branch, and if they do by mistake, I don't want to take it into account. My question is about the branches in the teams repositories. I want the developers to create feature/fix branches in their checkouts and when they have finished the work, I check and merge into develop if everything is OK. Is the following procedure correct?: 1. They send me the path of the branch I should do: git checkout --track origin/feature1 (where origin could be: ssh://user@xxxxxxxxxxxxxxxxxx:/home/user/git/project) 2. If everything is ok I merge into development and remove branch feature1. 3. They fetch and the branch is deleted in their local checkouts, and the feature1 is in the develop branch: git pull origin What happens if they accidentally work in the develop branch instead of creating a new one? What should we do? I think I should never fetch from teamx.myserver.net to avoid this problem and instead track the branch like in step 2. Is this correct? Thank you for your help, I'm a bit confused about git. Regards, Adrian Ribao
Attachment:
signature.asc
Description: This is a digitally signed message part.