From: Linus Torvalds Date: Tue, 12 Jul 2005 04:30:23 +0000 (-0700) Subject: Add "git branch" script X-Git-Tag: v0.99.1~53 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=37f1a519f2ea0ce912ccd7c623aea992147c3900;p=git.git Add "git branch" script You can use it as git branch [start-point] and it creates a new branch of name . 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. --- diff --git a/Makefile b/Makefile index 03ea1636..93479ae6 100644 --- a/Makefile +++ b/Makefile @@ -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 00000000..ade0abf0 --- /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"