使用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. 谁是最好的Coder

    谁是最好的Coder 时间限制:1000 ms  |  内存限制:65535 KB 难度:0   描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所以他选了帅 ...

  2. Ubuntu12.04更新源地址列表

    1. 修改更新源 sudo gedit /etc/apt/sources.list 2. 比较全的更新源列表中一般都包含deb和对应的deb-src. deb和对应的deb-src一般都包含preci ...

  3. OC面向对象继承关系和组合关系笔记

    继承关系是描述类和类之间的关系,两个类分别称为子类和父类,子类继承了父类,子类就拥有了父类的属性和方法: 继承的关系特点描述出来就是:** “是” **  (例如:学生类 是 人类) 组合关系描述的语 ...

  4. [原创汉化]linux前端神器 WebStorm8 汉化

    只汉化了linux版本 因为linux的工具没win多 不过汉化应该都通用的,自行尝试下. 汉化的不是很完全.有时间放出完全版本来.汉化是个体力活 转载随易,汉化不易,且转且注明 截图: http:/ ...

  5. 【转】Tarjan&LCA题集

    转自:http://blog.csdn.net/shahdza/article/details/7779356 [HDU][强连通]:1269 迷宫城堡 判断是否是一个强连通★2767Proving ...

  6. Understanding and Using Servlet Filters

    Overview of How Filters Work This section provides an overview of the following topics: How the Serv ...

  7. POJ 1988 Cube Stacking(带权并查集)

    哈哈,一次AC. 题意:给你 1-n 编号的立方体,然后移动包含指定编号的立方体的堆移到另一个堆上边, 询问指定的编号立方体下面有多少个立方体. 思路:由于并查集是存储的是它的父亲,那么只能从父亲那里 ...

  8. REST_FRAMEWORK加深记忆-第二次练习官方文档2

    优化前和优化后的代码,融在一起,能看看进化的过程. MODELS.PY from django.db import models from pygments.lexers import get_all ...

  9. Winform基础 -- 菜单

    快速创建默认菜单 使用控件 MenuStrip : 点击菜单的右上方小三角:选择 [插入标准项] 即可显现出标准的菜单格式: 如果想添加更多的菜单项,可以在   [请在此处键入] 处输入菜单项的名称 ...

  10. Oracle 10 - 数据库表

    Oracle数据库表类型 1.堆表 2.索引组织表 3.索引clustered表 4.散列clustered表 5.有序散列clustered表 6.嵌套表 7.临时表 8.对象表 9.外部表 Ora ...