Git分支命令git branch、git switch、git checkout的区别

分支的创建、删除、切换、查看、重命名、创建+切换

分支操作命令
创建分支git branch <name>
创建叫name的分支,但仍然停留在当前分支。
删除分支git branch -d <name>:参数为-D则为强制删除。
git push origin --delete <name> :删除远程仓库的叫name的分支,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支
git branch -dr <remote>/<branch-name>:没有删除远程分支,只是删除 git branch -r 列表中的追踪分支。一般只有git push命令可以修改远程仓库。
切换分支git switch <name>
git checkout <name>
创建+切换分支git switch -c <name>
git checkout -b <name>
上方两条命令一个意思:如果分支存在则只切换分支。不存在则创建叫name的分支,然后切换到该分支。相当于两条命令:git branch <name>git checkout <name>
查看分支git branch:查看本地分支,当前分支前面会标一个*号。
git branch -r:查看远程分支。
git branch -a:查看本地分支和远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)。
git branch -vv:查看本地分支对应的远程分支。
重命名分支git branch -m oldName newName

创建本地跟踪分支并从远程分支拉取代码、建立当前分支与指定远程分支的追踪关系

## 该命令创建本地分支跟踪分支<本地分支名>,并从远程分支<远程主机名>/<远程分支名>拉取代码。
git branch --track <本地分支名> <远程主机名>/<远程分支名>
git switch -c <本地分支名> <远程主机名>/<远程分支名>
git checkout -b <本地分支名> <远程主机名>/<远程分支名>

## 建立当前分支与指定远程分支的追踪关系,但不会拉取代码。参数"-u"和"--set-upstream-to"同样用处。
$ git branch -u <远程主机名>/<远程分支名>
$ git branch --set-upstream-to <远程主机名>/<远程分支名>

git branch、git switch、git checkout的作用

命令用处
git branch创建分支、删除分支、查看分支、重命名分支、创建本地跟踪分支并从远程分支拉取代码、建立当前分支与指定远程分支的追踪关系
git switch切换分支、创建+切换分支、创建本地跟踪分支并从远程分支拉取代码
git checkout切换分支、创建+切换分支、创建本地跟踪分支并从远程分支拉取代码

可见git switchgit checkout在分支操作方面的用处完全一样。那么可以在分支操作上尽量光用git branchgit switch

因为git checkout除了可以操作分支,它还可以操作文件。这条命令可以重写工作区,是一个很危险的命令。

git checkout 操作文件的命令

## 恢复暂存区的指定文件到工作区
$ git checkout -- [file]
$ git checkout [file]

# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]

# 恢复暂存区的所有文件到工作区
$ git checkout .

其中一些命令的演示图片可以看我这篇文章

Git命令git checkout、git branch的例子截图_夜中听雪的博客-CSDN博客

  • 26
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值