使用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. c# 重载运算符(+-|&)和扩展方法

    通常我们需要对class的相加,相减,相乘 等重载以适应需求, 如caml查询的时候,我们可以定义一个caml类,然后来操作这些查询. 首先,我们定义一个class为Test public class ...

  2. JSON-JObject

    http://james.newtonking.com/json/help/index.html http://www.cnblogs.com/usharei/archive/2012/04/24/2 ...

  3. [resource]Github上维护的一个机器学习相关的框架,库和工具列表

    https://github.com/josephmisiti/awesome-machine-learning  A curated list of awesome Machine Learning ...

  4. java中的静态static关键字

    类的静态成员函数不能访问非静态的成员函数以及非静态的成员变量, 但是反过来却是成立的. 即:非静态成员函数可以访问静态成员函数和静态成员变量. 这个可以从静态成员的特点来解释,因为静态成员属于类,因此 ...

  5. mvc 分页js

    <script type="text/javascript">     var configA = {         options: {             m ...

  6. 提高jQuery执行效率需要注意几点

    1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的j ...

  7. hdoj 1879 继续畅通工程

    继续畅通工程 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. 在mac上安装hadoop伪分布式

    换了macbook pro之后,要重新安装hadoop,但是mac上的jdk跟windows上的不同,导致折腾了挺久的,现在分享出来,希望对大家有用. 一:下载jdk 选择最新版本下载,地址:http ...

  9. GOOGLE搜索秘籍完全公开

    一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于19 ...

  10. Java运行系统命令并获取值(Process java.lang.Runtime.exec(String[] cmdarray, String[] envp, File dir)

    package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; ...