...
Here's an example. Assume the current working directory is the top-level of a clone of our "head" repository, currently checked out to a branch called "master" which tracks "origin/master":
Code Blocknoformat |
---|
# Create new WIP branch off master: git checkout -b hudsonBuild-someWIP --track origin/master # Make experimental changes, commit them. # Push upstream: git push origin hudsonBuild-someWIP # Hudson sees the branch appear and automatically builds the code. # If you like the changes and want them on master, do this: git checkout master git merge --ff-only hudsonBuild-someWIP # Whether you keep the changes or not, prune the branch from the remote server (note the colon): git push origin :hudsonBuild-someWIP # Switch back to master and delete the WIP branch: git checkout master git branch -d hudsonBuild-someWIP |
...