怎么查看当前的git分支是基于哪个分支创建的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么查看当前的git分支是基于哪个分支创建的?相关的知识,希望对你有一定的参考价值。

参考技术A 比如我从 branch A 切出一个 branch B
然后对 branch B 做了一系列的操作
然后忘记了 branch B 是从哪个分支切出来的
请问能不能找到基于哪个分支创建的?

git reflog show <childBranch>

32c3956 (HEAD -> currentBranch, origin/fatherBranch, fatherBranch, list) childBranch@0: branch: Created from fatherBranch

childBranch 是你新建的分支。
fatherBranch 是它的父分支,也就是来源分支。

git常用命令

一、Git常用命令

1.查看所有分支:git branch --all

查看远程分支:git branch -a 

查看本地分支:git branch -l 

2.创建本地分支:git branch <name>  (事实证明,我被廖雪峰大佬的git教程误导了。。)

例如:git branch dev,这条命令是基于当前分支创建的本地分支,假设当前分支是master(远程分支),则是基于master分支创建的本地分支dev。

3.切换分支:git checkout  <name>或者 git switch <name>

4.创建+切换分支:git checkout -b <name>或者git switch -c <name>

例如:git checkout -b dev,这条命令把创建本地分支和切换到该分支的功能结合起来了,即基于当前分支master创建本地分支dev并切换到该分支下。

5.首次收取远程分支到本地分支:git fetch origin 远程分支名

6.拉取远程分支内容到本地分支:git pull origin 远程分支名

7.提交本地分支到远程仓库:git push origin 本地分支名

例如:git push origin dev,这条命令表示把本地dev分支提交到远程仓库,即创建了远程分支dev。

 8.新建本地分支与远程分支关联:git branch –set-upstream 本地新建分支名 origin/远程分支名

例如:git branch –set-upstream dev origin/dev,把本地dev分支和远程dev分支相关联。

注:本地新建分支, push到远程服务器上之后,使用git pull或者git pull 拉取或提交数据时会报错,必须使用命令:git pull origin dev(指定远程分支);如果想直接使用git pull或git push拉去提交数据就必须创建本地分支与远程分支的关联。

9.合并某分支到当前分支:git merge <name>

10.删除分支:git branch -d <name>

 

二、误区

1. 创建分支:git checkout -b dev命令并不是已经实际创建了一个类似划分开区域的文件夹,而只是创建了一个类似指针的的头,并且这个“指针”还是悬空的。所以下一步你要给这个悬空“指针”赋值:即切换分支和选择版本,然后实例化,使用这个“指针”:git pull,接着再将所做改变提交到云代码仓库。

2. git reset --hard 1094a;git pull  如果本地的版本过高,出现冲突,并且无法解决,可以考虑清除本地仓库,直接克隆你所需要的版本。

 

以上是关于怎么查看当前的git分支是基于哪个分支创建的?的主要内容,如果未能解决你的问题,请参考以下文章

git分支与合并

git分支与合并

我怎样才能找到我当前分支所基于的git分支?

Git教程

Git:分支管理

git创建本地分支,推送到远程