Sorry, this kind of description makes no sense to people who are new to Git 
like me and don't understand how multiple copies of the entire repository get 
used.

For example, when you say "Create a branch for your new feature", what 
repository am I creating a branch in? The master repo? (Is that on an Apache 
server or on a server at GitHub?) My local copy of the repo? The copy of the 
repo that another email said I'm supposed to make on the server?

"Commit often." To which repo?

"Push the branch." Within one of the three repos? Between one repo and another? 
Which ones?

"Merge the feature branch into the 'dev' branch" Within one of the three repos? 
Between one repo and another? Which ones?

- Gordon


-----Original Message-----
From: RIAstar [mailto:max...@riastar.net] 
Sent: Tuesday, March 12, 2013 5:52 AM
To: dev@flex.apache.org
Subject: Re: SVN to Git migration in progress

> It seems to me that all it does is add an extra layer
Yes indeed. And that's a good thing, because it allows you to commit often and 
very granularly.
I read that you were preparing everything for a committing one big change to 
Subversion.
The Git workflow is a bit different.
In Git you would:
  - create a branch for your new feature
  - commit often (e.g. you fixed that nullpointer that you forgot to check for 
> commit; you updated some docs > commit; etc.)
  - when the code is ready for your teammates to chime in, you push the branch 
(most of the time with multiple commits)
  - when the feature is ready, you merge the feature branch into the 'dev' 
branch and push that

In Subversion you cannot commit until your code is ready to share. In Git you 
can.
This granular way of comitting allows you to better dig through the logs later 
on; roll back possible small mistakes; merge only small fixes; etc.
You can even select specific lines in a file to commit.

As a side effect because all the branching and committing happens locally, 
everything happens a thousand times faster than with Subversion. Especially 
with a large code-bases like Flex'. I wouldn't even want to think about 
creating a feature branch for the Apache Flex repo in Subversion. But in Git I 
would.

Max

Reply via email to