Apr 28, 2011

Helpful git-svn cheatsheet

git

In my previous post “A successful git-svn workflow“, I wrote about starting out with git-svn.  This post is a followup with notes on more advanced topics.

Git SVN Branching

First Find the revision that you want to branch from:
git svn find-rev r7654

Check it out:
git checkout b0ec4f9bef566

Then actually create the branch in SVN:
git svn branch <branchName>

you should be able to see a new branch in
https://<your svn repo URL>/branches/

Cherry picking changes

Checkout the remote branch:
git checkout remotes/release-1.2.1

Create a local branch tracking with that remote:
git checkout -b release-1.2.1

Cherry pick your changes:
git cherry-pick 91721c344e3
git cherry-pick fabbed1

then commit it
git svn dcomit

Create a new Git Branch

from http://djwonk.com/blog/2009/04/18/tracking-remote-git-branches/

Push your local branch upstream:

“In my opinion, Mark Eli Kalderon’s post explains the simplest and most elegant approach. Here is his approach, slightly adapted:

  • $ git checkout -b zzz
  • # Let the hacking commence…
  • $ git push origin zzz
  • $ git checkout master # see note 2
  • $ git branch -f zzz origin/zzz
  • $ git checkout zzz
  • # Let the hacking continue…

The key to this approach is using the “-f” flag with “git branch” to force the re-creation of the local branch. It is short and easy to remember.”
Then to track an existing upstream branch:

  • $ git branch –track zzz origin/zzz

About the Author

Object Partners profile.
Leave a Reply

Your email address will not be published. Required fields are marked *

Related Blog Posts
Getting Started with CSS Container Queries
For as long as I’ve been working full-time on the front-end, I’ve heard about the promise of container queries and their potential to solve the majority of our responsive web design needs. And, for as […]
Simple improvements to making decisions in teams
Software development teams need to make a lot of decisions. Functional requirements, non-functional requirements, user experience, API contracts, tech stack, architecture, database schemas, cloud providers, deployment strategy, test strategy, security, and the list goes on. […]
JavaScript Bundle Optimization – Polyfills
If you are lucky enough to only support a small subset of browsers (for example, you are targeting a controlled set of users), feel free to move along. However, if your website is open to […]
Creating Mocks For Unit Testing in Go
Unit testing is an important part of any project, and Go built its framework with a testing package; making unit testing part of the language. This testing framework is good for most scenarios, but you […]