Browse Source

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.
maint
Linus Torvalds 20 years ago
parent
commit
37f1a519f2
  1. 3
      Makefile
  2. 11
      git-branch-script

3
Makefile

@ -34,7 +34,8 @@ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \ @@ -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 \

11
git-branch-script

@ -0,0 +1,11 @@ @@ -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"
Loading…
Cancel
Save