当前位置:   article > 正文

git——分支详解_git 分支

git 分支

分支查看

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 显示本地分支当前指向的提交记录的哈希值
$ git branch -v

# 显示本地分支当前指向的提交记录的哈希值
# 以及和其上游分支(远程跟踪的分支)的相对位置(及本地分支和远程分支是同步,超前,还是落后),如果有的话。
$ git branch -vv
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

参考:git branch -v、git branch -vv、git branch -verbose

分支创建和跟踪

# 新建一个本地分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个本地分支,指向指定commit
$ git branch [branch-name] [commit]

# 新建一个本地分支,并切换到该分支,如有远程分支参数,将建立和远程分支的跟踪。
$ git switch -c [branch-name] [origin/remote-branch]

# 新建一个本地分支,与指定的远程分支建立追踪关系
$ git branch --track [branch-name] [origin/remote-branch]

# 新建一个本地分支,并切换到该分支,如有远程分支参数,将建立和远程分支的跟踪。
$ git checkout -b [branch-name] [origin/remote-branch]

# 新建一个远程分支,根据已有的本地分支  但是分支之间未有关联
$ git push origin [本地分支名称]:[远程分支名称]  // 使用一个,默认本地分支和远程分支相同;

# 根据已有的本地分支,跟踪远程分支
$ git branch -u [origin/remote-branch] [branch-name]  // 如果不带本地分支名称,则为当前分支。

# 根据已有的本地分支,跟踪远程分支
$ git branch  --set-upstream-to [origin/remote-branch] [branch-name]  // 如果不带本地分支名称,则为当前分支。

# 取消分支跟踪
$ git branch  --unset-upstream  [branch-name] // 如果不带本地分支名称,则为当前分支。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

分支切换

$ git checkout [branch-name]

$ git switch [branch-name]
  • 1
  • 2
  • 3

分支删除

# 大概步骤分为:1.删除本地分之;2.删除远程分支;3.删除跟踪分支;

# 删除本地分支
# 在使用--delete(-d)删除分支时,该分支必须完全和它的上游分支merge完成,如果没有上游分支,必须要和HEAD完全merge
$ git branch --delete(-d) [branch-name]

# 删除本地分支
# -D是--delete --force; 可以在不检查merge状态的情况下删除分支
$ git branch --delete --force(-D) [branch-name]

# 删除远程分支
# 该指令也会删除追踪分支
$ git push origin --delete [remote-branch]

# 删除跟踪分支
git branch --delete --remotes [origin/remote-branch]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

参考:git分支基本介绍 git 删除分支

branch命令常用参数说明


$ git branch //查看本地所有分支 

$ git branch -r //查看远程所有分支

$ git branch -a //查看本地和远程的所有分支
// PS:  git branch -a(-r) 无法获取远程已经存在的分支; 
// 原因是:git branch -a(-r) 这条命令并没有每一次都从远程更新仓库信息,我们可以手动更新一下。如:git fetch origin 

$ git branch <branchname> //新建分支

$ git branch -d <branchname> //删除本地分支

$ git branch -d -r <branchname> //删除远程分支,删除后还需推送到服务器
$ git push origin:<branchname>  //删除后推送至服务器

$ git branch -m <oldbranch> <newbranch> //重命名本地分支

/**
*重命名远程分支:
*1、删除远程待修改分支
*2、push本地新分支到远程服务器
*/

//git中一些选项解释:

-d
--delete:删除

-D
--delete --force的快捷键

-f
--force:强制

-m
--move:移动或重命名

-M
--move --force的快捷键

-r
--remote:远程

-a
--all:所有
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

参考:git-branch

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/929216
推荐阅读
相关标签
  

闽ICP备14008679号