Oops messed up that order, here's the corrected one:
- git pull msp (update to latest code from Miller) - git checkout -b new_branch (start new branch) - git commit (commit all changes to the local branch) - git rebase -i ("rebase" the commits in the branch into clean patches" - git checkout master (switch to master branch) - git pull msp (update to latest code from Miller) - git checkout new_branch (switch back to new_branch) - git rebase master (merge in changes just pulled into master) - git checkout master (switch back to master) - git merge new_branch (merge in new_branch into local master) - git branch -d new_branch (delete branch) - git push (push changes to your own remote repo)
.hc
On Jul 20, 2010, at 9:42 PM, Hans-Christoph Steiner wrote:
hey all,
I've been diving into git and trying to figure out a workflow to represent how we work. I think its going to be like a smaller version of the Linux workflow for now at least. I've set up my git to have its master up on gitorious. Then I can "git pull msp master" to pull from Miller's repo on SourceForge. I did this by adding these to puredata.git/.git/config:
[remote "origin"] url = git@gitorious.org:pdvanilla-hcs/pdvanilla-hcs.git fetch = +refs/heads/*:refs/remotes/origin/*
[remote "msp"] url = ssh://eighthave@pure-data.git.sourceforge.net/gitroot/pure-data/pure-data fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"] remote = origin merge = refs/heads/master
The other key thing I was reading is about "git rebase", it sounds like the "feature branch" workflow will work best for use. Basically, make a local branch for a feature, commit lots, when done, rebase into clean patches and merge into local master, then submit patch to Miller. Something like:
- git pull msp (update to latest code from Miller)
- git checkout -b new_branch (start new branch)
- git commit (commit all changes to the local branch)
- git rebase -i ("rebase" the commits in the branch into clean
patches"
- git checkout master (switch to master branch)
- git pull msp (update to latest code from Miller)
- git checkout new_branch (switch back to new_branch)
- git rebase master (merge in new_branch into local master)
.hc
There is no way to peace, peace is the way. -A.J. Muste
----------------------------------------------------------------------------
Programs should be written for people to read, and only incidentally for machines to execute. - from Structure and Interpretation of Computer Programs