diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-12 08:30:23 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-12 08:30:23 +0400 |
commit | 37f1a519f2ea0ce912ccd7c623aea992147c3900 (patch) | |
tree | fd17678d983e39cce1093e011c04ed9cf35dde21 | |
parent | 91dcdfd3b5331d955cfb60edf8930f1b5c142905 (diff) |
Add "git branch" script
You can use it as
git branch <branchname> [start-point]
and it creates a new branch of name <branchname>. If a starting point
is specified, that will be where the branch is created, otherwise it
will be created at the current HEAD.
The sequence
git branch xyz abc
git checkout xyz
can also be written as
git checkout -b xyz abc
as per the previous commit.
-rw-r--r-- | Makefile | 3 | ||||
-rwxr-xr-x | git-branch-script | 11 |
2 files changed, 13 insertions, 1 deletions
@@ -34,7 +34,8 @@ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \ git-log-script git-shortlog git-cvsimport-script git-diff-script \ git-reset-script git-add-script git-checkout-script git-clone-script \ gitk git-cherry git-rebase-script git-relink-script git-repack-script \ - git-format-patch-script git-sh-setup-script git-push-script + git-format-patch-script git-sh-setup-script git-push-script \ + git-branch-script PROG= git-update-cache git-diff-files git-init-db git-write-tree \ git-read-tree git-commit-tree git-cat-file git-fsck-cache \ diff --git a/git-branch-script b/git-branch-script new file mode 100755 index 0000000000..ade0abf069 --- /dev/null +++ b/git-branch-script @@ -0,0 +1,11 @@ +#!/bin/sh + +. git-sh-setup-script || die "Not a git archive" + +branchname="$1" +rev=$(git-rev-parse --verify --default HEAD "$2"^0) || exit + +[ -z "$branchname" ] && die "git branch: I want a branch name" +[ -e "$GIT_DIR/refs/heads/$branchname" ] && die "$branchname already exists" + +echo $rev > "$GIT_DIR/refs/heads/$branchname" |