使用git管理工具,branch 应该是我们接触最多的。不论我们是修复bug,还是做项目,都会新开branch,工作完成后再合并。

然而对一些初学者,对git的一些命令知之甚少,这里,给大家写一些常用的和一些不常用的,但是非常有用的branch操作命令。

本文书写约定当前分支我们用master名字,新分支用 branchName 名字。

首先我们要知道如何创建分支,如果只单纯的创建一个分支,可以使用 git branch branchName 就可以了,这样创建的分支就相当于是在当前分支(master)下的一个副本。并且,会把当前分支的git log 日志一起copy过去。
我们可以使用 git checkout branchName 切换到新分支,然后用 git log 查看下,你会看到显示的是之前 master 分支下的日志。

当然我们也可以创建一个全新的branch,它会把之前分支(master)的日志丢弃。然而这个命令却不是 branch 命令,而是 checkout 命令和 --orphan 参数,命令如下:
$ git checkout --orphan branchName
该命令会创建一个全新的branch ,并且会切换到该分支上。使用该命令需要注意,在修改任何文件之前,需要commit一次,否则无法对比第一次文件提交时候的对比,切记。

有时候,我们在master分支,但是我们想用本地的 localBranchName 分支来创建分支,但是我们又不想先切换到test分支再创建 branchName 分支,我们可以使用 git branch branchName localBranchName 命令,如果使用 git checkout -b branchName localBranchName 会创建并且切换分支。
当然,我们也可以用远程分支创建来创建分支 git branch branchName origin/remoteBranchName ,利用远程分支创建的本地分支会自动和该远程分支建立关联。和本地分支创建一样,可以使用 checkout 命令。

有时候我们还需要查看下本地有多少分支,方便我们切换到别的分支去,可以执行 git branch 命令,就就可以看到本地的所有分支了。当然,既然可以查看本地分支,当然也可以查看远程分支,和所有分支(本地分支和远程分支)。
执行 git branch -r 可以查看远程分支 , git branch -a 可以查看所有分支
注释:
-r remote
-a all

创建分支还有另外一个方法,就是 git checkout -b branchName ,该命令会创建一个分支,并且会切换到该分支。但是,之前 master 分支的日志也会保留。

有时候,你创建好分支后,你会发现单词写错了,那么现在你会去怎么解决呢?
第一种办法就是,删除该分支,然后在从新创建。
执行 git branch -d branchName 命令即可删除相关分支,当然,前提是你当前不在该分支上。git是不能删除当前所在分支的。
如果分支有改动,且没有合并,使用 -d 是无法删除的,需要用 -D 强行删除该分支。

第二种方法就是,重命名分支,我想很多人都会选择后者吧,O(∩_∩)O哈哈~
执行 git branch -m brnachName newBranchName 即可重命名分支。

查看本地所有分支的最后一次提交 git branch -v

当你不确定当前分支是否和远程分支有关联,或者,查看当前分支和远程分支的哪个分支进行关联的时候,我们可以运行 git branch -vv 命令查看本地分支和远程分支的关联状态。

当你有一个仓库长时间没有去动过了,而且已经忘记该仓库的远程仓库的地址,但是现在你有修改,可以使用 git remote -v 查看远程仓库的地址。

未完待续。。。

git log --reverse 从最开始提交预览日志,而不是最后一次提交

git push origin master 将本地分支推送到远程 master分支上,是 git push origin master:master 的简写,如果想将当前分支推送到远程其他分支

http://prototype.ui.sh.ctriptravel.com/code_pub/cn/vacation_v2/mice_v2/index.php## <http://prototype.ui.sh.ctriptravel.com/code_pub/cn/vacation_v2/mice_v2/index.php#%23>

git branch的更多相关文章

  1. 自动提交Git branch代码评审到Review Board系统

    背景 敏捷软件开发中,越小的反馈环,意味着软件质量越容易得到保证. 作为组件团队,我们的开发任务中,往往存在一些特性涉及到几十个功能点,开发周期持续数周或数月的情况.如何在开发过程中保证软件质量,是个 ...

  2. git branch(git 的branch 使用方法)

    查看分支:         $ git branch    该命令会类出当先项目中的所有分支信息,其中以*开头的表示当前所在的分支.参数-r列出远程仓库中的分支,而-a则远程与本地仓库的全部分支. 创 ...

  3. 管理分支:git branch

    新建分支的意义: 创建一个单独的工作分支,避免对主分支master造成太多的干扰,也方便与他们交流协作. 进行高风险的工作时,创建一个实验性的分支,扔掉一个烂摊子总比收拾一个烂摊子好得多. 合并别人工 ...

  4. git branch使用

    (1) git配置global信息: git config --global user.name "Your Name" git config --global user.emai ...

  5. git branch用法总结

    git branch      git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记,例如:   #git branch* master   newbranch ...

  6. Git branch 和 Git checkout常见用法

    git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...

  7. git branch几个简单操作

    1.git branch  该命令会列出当先项目中的所有分支信息,其中以*开头的表示当前所在的分支.参数-r列出远程仓库中的分支,而-a则远程与本地仓库的全部分支. 2.git branch deve ...

  8. git branch 管理常用命令

    查看本地分支 git branch * dev master *代表当前位于dev分支 查看远程分支 git branch --remote origin/dev origin/master 查看远程 ...

  9. git使用命令, 特别:git checkout -b a 与 git branch a区别

    摘自: https://my.oschina.net/u/587974/blog/74341 创建分支: $ git branch mybranch 切换分支: $ git checkout mybr ...

  10. git branch -D 大写的D 删除分支

    今天删除本地分支 git branch -d XXX 提示:  the branch  XXX is not fully merged 原因:XXX分支有没有合并到当前分支的内容 解决方法:使用大写的 ...

随机推荐

  1. [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建

    上次的博文项目进阶 之 持续构建环境搭建(二)Nexus私服器中,我们搭建了一个Nexus的maven私服,这次我们来重点讲解一下Maven的安装和配置.这里说明一下这次的环境搭建,比较基础,但却非常 ...

  2. ffmpeg 打开视频流太慢(上)

    新版ffmpeg打开网络视频流需要调用avformat_find_stream_info方法,很多朋友会发现调用改方法耗费很多时间造成打开视频流太慢.有两个参数可以减少avformat_find_st ...

  3. Django 学习笔记之五 Django中数据库中ManyToManyField及ForeignKey

    1.model里面的代码: from __future__ import unicode_literalsimport django.utils.timezone as timezonefrom dj ...

  4. 【转】在RedHat上搭建自己Email服务器

    原文:http://6839976.blog.51cto.com/6829976/1323482 by LN__@linux 目前邮件服务器中,想要拥有自己的邮件服务器,单单使用senmail,pos ...

  5. 2659: [Beijing wc2012]算不出的算式 - BZOJ

    最近有点颓废,刷水题,数学题(根本不会做啊) 题意:求 q,p是两个奇质数 网上题解就直接说是几何意义,问了别人才知道 我们在坐标轴上画出来就是在线段y=(q/p)x下方的格点和y=(p/q)x下方的 ...

  6. 【转载】Spring中DispatcherServlet与ContextLoaderListener的区别

    昨天在写springmvc的时候,在web.xml中配置了DispatcherServlet,如下: <servlet> <servlet-name>DispatcherSer ...

  7. libcurl编程学习

    一.curl简介 curl是一个利用URL语法在命令行方式下工作的文件传输工具.它支持的协议有:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以 ...

  8. win8 ubuntu

    点进去看到几点注意: 1. 如果Windows是UEFI方式安装的,那Ubuntu必须也用UEFI方式安装 2. 必须用64位的Ubuntu安装文件,32位的不能探测EFI 3. 必须用UEFI的方式 ...

  9. Unity3D–Texture图片空间和内存占用分析(转载)

    原地址:http://www.unity蛮牛.com/home.php?mod=space&uid=1801&do=blog&id=756 Texture图片空间和内存占用分析 ...

  10. VirtualBox下导入CentOS后,无法上网

        从VirtualBox的"管理"菜单下,选择"导出虚拟电脑",存一个备份.用时,再从"管理"菜单下,选择"导入虚拟电脑&q ...