Creating Branches

A new branch is based upon an existing commit within the repository. It is entirely up to you to determine and specify which commit to use as the start of the new branch. Git supports an arbitrarily complex branching structure, including branching branches and forking multiple branches from the same commit.

The lifetime of a branch is, again, your decision. A branch may be short-lived or long-lived. A given branch name may be added and deleted multiple times over the lifetime of the repository.

Once you have identified the commit from which a branch should start, simply use the git branch command. Thus, to create a new branch off the HEAD of your current branch for the purposes of fixing Problem Report #1138, you might use:

$ git branch prs/pr-1138

The basic form of the command is:

git branch branch [starting-commit]

When no starting-commit is specified, the default is the revision committed most recently on the current branch. In other words, the default is to start a new branch at the point where you’re working right now.

Note that the git branch command merely introduces the name of a branch into the repository. It does not change your working directory to use the new branch. No working directory files change; no implicit branch context changes; no new commits are made. The command simply creates a named branch at the given commit. You can’t actually start work on the branch until you switch to it, as shown later in Checking Out Branches.

Sometimes you want to specify a different commit as the start of a branch. For instance, suppose that your project creates a new branch for each reported bug, and you hear about a bug in a certain release. It may be convenient to use the starting-commit parameter, as an alternative to switching your working directory to the branch that represents the release.

Normally, your project establishes conventions that let you specify a starting commit with certainty. For instance, to make a bug fix on the version 2.3 release of your software, you might specify a branch named rel-2.3 as the starting commit:

$ git branch prs/pr-1138 rel-2.3

Note

The only commit name guaranteed to be unique is the hash ID. If you know a hash ID, you can use it directly:

$ git branch prs/pr-1138 db7de5feebef8bcd18c5356cb47c337236b50c13
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.231.106