Git命令——分支

Git中分支操作的相关命令:

  1. $ git branch <new-branch>        # 创建新分支
  2. $ git checkout <branbch_name>         # 切换到指定分支
  3. $ git checkout -b <branbch_name>  # 创建并切换到新分支
  4. $ git merge <branch_name>            # 将指定分支合并到当前分支
  5. $ git branch -d <branch_name>    # 删除指定分支
  6. $ git checkout -b [branch] [remotename]/[branch]   #  设置跟踪分支
  7. $ git branch [-u]/[--set-upstream-to] [remotename]/[branch] # 修改正在跟踪的上游分支
  8. $ git push [remotename] --delete  [branch_name]     # 删除指定远程分支

 

1. 分支创建

Git 创建分支时只是为你创建了一个可以移动的新的指针。 比如,创建一个 testing 分支, 你需要使用 git branch 命令:

  $ git branch testing

这会在当前所在的提交对象上创建一个指针:

 

2. 分支切换 

要切换到一个已存在的分支,你需要使用 git checkout 命令。例如:

$ git checkout testing

这样 HEAD 就指向 testing 分支了。

 

如果你想要在创建一个分支的同时切换到该分支,可以执行带有 -b 参数的 git checkout 命令。例如:

$ git checkout -b branch_name

它是下面两条命令的简写:

$ git branch branch_name

$ git checkout branch_name

 

3. 分支合并

通过 git merge 命令可以实现分支合并的操作,例如:

 

在这种情况下,你的开发历史从一个更早的地方开始分叉开来(diverged)。 因为,master 分支所在提交并不是 iss53 分支所在提交的直接祖先,Git 不得不做一些额外的工作。 出现这种情况的时候,Git 会使用两个分支的末端所指的快照(C4 和 C5)以及这两个分支的工作祖先(C2),做一个简单的三方合并。

 

和之前将分支指针向前推进所不同的是,Git 将此次三方合并的结果做了一个新的快照并且自动创建一个新的提交指向它。 这个被称作一次合并提交,它的特别之处在于他有不止一个父提交

 

3. 跟踪分支

从一个远程跟踪分支检出一个本地分支会自动创建所谓的 “跟踪分支”(它跟踪的分支叫做 “上游分支”)。 跟踪分支是与远程分支有直接关系的本地分支。 如果在一个跟踪分支上输入 git pull,Git 能自动地识别去哪个服务器上抓取、合并到哪个分支。

 

然而,如果你愿意的话可以设置其他的跟踪分支,或是一个在其他远程仓库上的跟踪分支,又或者不跟踪 master 分支。 最简单的实例就是像之前看到的那样,运行 git checkout -b [branch] [remotename]/[branch]。 这是一个十分常用的操作所以 Git 提供了 --track 快捷方式:

 

如果想要将本地分支与远程分支设置为不同名字,你可以轻松地使用上一个命令增加一个不同名字的本地分支:

 

设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支,你可以在任意时间使用 -u--set-upstream-to 选项运行 git branch 来显式地设置。

 

4. 删除远程分支

假设你已经通过远程分支做完所有的工作了 - 也就是说你和你的协作者已经完成了一个特性并且将其合并到了远程仓库的 master 分支(或任何其他稳定代码分支)。 可以运行带有  选项的 git push 命令来删除一个远程分支。 如果想要从服务器上删除 serverfix 分支,运行下面的命令:

 

 

 



 

转载于:https://www.cnblogs.com/shichangxing/p/11489271.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值