7-git-3-branch

1、查看分支

*表示当前分支

查看所有本地分支

git branch

查看分支的详细信息(commitID及message)

git branch -v

查看本地分支与远程分支的关联

git branch -vv

查看所有远程分支

git branch -r

查看所有本地分支和远程分支

git branch -a

2、新建分支

新建本地分支

直接在git branch后面跟上分支名,就表示新建该分支。

git branch [branch-name]

创建后,还是停留在原来分支,需要用git checkout切换到新建分支

git checkout [branch-name]

使用-b参数,可以新建的同时,切换到新分支。

git checkout -b [branch-name]

通过远程分支检出一个新的分支,执行:

git checkout -b [branch-name] [remote]/[remote-branch]
git checkout -b newBranch origin/main

就可以创建一个名为 newBranch 的分支,它跟踪远程分支 origin/main


新建一个分支,与指定的远程分支建立追踪关系

git branch --track [branch] [remote]/[remote-branch]

新建远程分支

创建远程分支

创建远程分支的前提是本地有这个分支,推送到远程后,因为远程没有此分支,所以会新建

在远程主机origin上创建一个dev分支

git push [remote] [place-branch]
git push origin dev

在远程主机origin上创建一个dev的分支,并与本地的同名分支建立追踪关系。

git push -u [remote] [place-branch]
git push -u origin dev

3、删除分支

删除本地分支

需要当前不在被删除的分支上

-d参数用来删除一个分支,前提是该分支没有未合并的变动。

git branch -d [branch-name]

强制删除一个分支,不管有没有未合并变化。

git branch -D [branch-name]

删除远程分支

git push [remote] --delete [branch-name]
git push origin --delete dev
git branch -dr [remote]/[remote-branch]
git branch -dr origin/dev

4、分支改名

为当前分支改名

git branch -m [branch-name]

为指定分支改名

git branch -m [branch-name] [new-branch-name]
git branch -m dev develop

5、关联远程分支

建立追踪关系,在现有分支与指定的远程分支之间

方式一:

git branch --set-upstream-to=[remote]/[remote-branch] [branch]
git branch --set-upstream-to=origin/dev dev

方式二:

git branch -u 命令,执行:

git branch -u [remote]/[remote-branch] [branch]
git branch -u origin/main foo

这样 foo 就会跟踪 origin/main 了。如果当前就在 foo 分支上, 还可以省略 foo:

git branch -u o/main