GIT分支使用

GIT分支使用

git branch的创建

创建分支

命令:git branch (分支名)
git push origin (创建的分支名)
首先创建本地分支:git branch 分支名,例如:git branch VS2012。注:VS2012是分支名称,可以随便定义。
然后切换本地分支:git checkout 分支名,例如从master切换到分支:VS2012。
上传到远程分支就是本地分支push到服务器上。git push origin VS2012,这样就将一个本地分支VS2012提交到了服务器上。如果在你提交你这个分支之前还有你的修改信息需要提交,则必须在push之前提交修改。最后提交分支,你的分支信息就是在主分支master分支上修改内容之后打出来的新分支。

创建分支演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$ git branch VS2012

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$ git push origin VS2012
git@192.168.0.216's password:
Total 0 (delta 0), reused 0 (delta 0)
To git@192.168.0.216:/home/data/git/gittest.git
 * [new branch]      VS2012 -> VS2012

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$ git branch
  VS2012
* master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$

git branch的查看与切换

查询本地分支

命令:git branch
这里可以看到有VS2012跟master两个分支,一般项目没有修改分支名的情况下,master默认为主分支。分支前面的*表示你目前所在的分支。你所操作的修改提交将会在这个分支下进行。

查询本地分支演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$ git branch
  VS2012
* master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$

切换本地分支

命令:git checkout (分支名)
这里我们将分支切换到VS2012,可以看到现在*标识到了VS2012前面。

切换本地分支演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (master)
$ git checkout VS2012
Switched to branch 'VS2012'

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (VS2012)
$ git branch
* VS2012
  master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittesttwo/gittest (VS2012)
$

查询远程服务器分支

命令:git branch -a
这里我们可以看到本地分支只有一个主分支,而远程上有两个分支master和VS2012,而且远程分支我们使用的是主分支。如果我们push到远程的代码也会提交到远程分支master上。如果在你知道有远程分支,而用git branch -a 并没有看到你需要的远程分支,你要确定你自己的仓库是不是最新的,需要先pull一下,然后查看远程分支。

查询远程服务器分支演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittestone/gittest (master)
$ git branch
* master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittestone/gittest (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/VS2012
  remotes/origin/master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittestone/gittest (master)
$

Git branch clone

直接克隆某个分支到本地

命令:git clone -b (分支名) [远程库地址]
这里我们clone分支时直接在git clone 后面加 -b 分支名,就会把特定的这个分支clone到本地仓库,不会有其他分支内容(包括主分支);如果直接clone 不加分支名 git clone [remote repository address],这样就会把默认的主分支clone到本地仓库。

直接克隆某个分支到本地演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作
$ git clone -b VS2012 git@192.168.0.216:/home/data/git/gittest.git
Cloning into 'gittest'...
git@192.168.0.216's password:
remote: Counting objects: 26, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 26 (delta 2), reused 0 (delta 0)
Receiving objects: 100% (26/26), done.
Resolving deltas: 100% (2/2), done.
Checking connectivity... done.

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作
$ cd gittest

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (VS2012)
$ git branch
* VS2012

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (VS2012)
$

切换远程分支并clone到本地

命令:git checkout -t (远程分支名)
将远程分支代码复制一份到本地并在本地建立一个一样的分支名,同时切换到本地的这个分支。远程分支名一定要写全路径如:remotes/origin/master

切换远程分支并clone到本地演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (VS2012)
$ git branch
* VS2012

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (VS2012)
$ git branch -a
* VS2012
  remotes/origin/HEAD -> origin/master
  remotes/origin/VS2012
  remotes/origin/master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (VS2012)
$ git checkout -t remotes/origin/master
Branch master set up to track remote branch master from origin.
Switched to a new branch 'master'

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git branch
  VS2012
* master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$

删除分支

删除本地分支命令:git branch -d (分支名)
删除远程分支命令:git push origin :(分支名)冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

删除分支演示

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git branch
  VS2012
* master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git branch -d VS2012
Deleted branch VS2012 (was c1285f3).

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git branch
* master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/VS2012
  remotes/origin/master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git push origin :VS2012
git@192.168.0.216's password:
To git@192.168.0.216:/home/data/git/gittest.git
 - [deleted]         VS2012

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

administrator@3S5W0LWUWE7GOX7 /E/codepeter/我的工作/gittest (master)
$
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值