On Aug 2, 2011, at 7:39 AM, Nathan W. Panike wrote: On Mon, Aug 01, 2011 at 11:39:00PM -0500, Peter Keller wrote:On Mon, Aug 01, 2011 at 10:47:19PM -0500, Nathan Panike wrote:And you only get conflicts if you and another team member have made changesto the same part of a document or code.That's not true.For example, if I want to do: V7_6_0-branch -> V7_6-branch -> masterAnd I do it this way, which is our recommended way:git branch status* V7_6_0-branchgit pullgit push origin V7_6_0-branchgit checkout V7_6-branchgit pullgit merge V7_6_0-branch [no conflicts]git push origin V7_6-branchLABEL_Agit checkout mastergit merge V7_6-branch [BOOM! Conflicts in the src through my fault or other.]fix conflicts, retest, could take hours.git add (piles of crap)git commit -m "Merged V7_6-branch into master"git pullgit push origin master I don't see much of a difference. One advantage with your sequence is that if your merges produce conflicts that take a while to sort out, someone else who attempts to merge the same branches at the same time won't run into the conflicts. If the dry-run push fails due to someone else updating master, I assume you would only reset master and re-do that merge. That way, you don't have to re-resolve any conflicts in the first merge. I presume you're checking the 'git config remote.origin.push' command's output to ensure that the branches you're merging are in the list and nothing else is. We've discouraged use of 'git push' without specifying a branch, as people have had things get pushed on other tracking branches that they didn't intend. A better solution for that may be to tell people not to put stuff on a tracking branch that they're not prepared to push. +--------------------------------+-----------------------------------+ | Jaime Frey | I used to be a heavy gambler. | | jfrey@xxxxxxxxxxx | But now I just make mental bets. | | | That's how I lost my mind. | +--------------------------------+-----------------------------------+ |