• Git分支管理的基本操作


    首先从远端版本库clone下来一个全新的库:

    git clone username@xxx:/xxx/xxx.git

    此时clone下来的,只是master分支,没有其他分支。

    查看分支:

    git branch  #查看本地分支
    git branch -r  #查看远端分支
    git branch -a  #查看所有分支,包括本地和远程的

    分支名前面有 * 的,就是当前所在分支。分支名型如remote/origin/xxx的,就是远端分支。

    创建本地分支:

    git branch <user_branch_name>  #在本地创建一个新分支
    git checkout -b <user_branch_name>  #在本地创建一个新分支,并且立即切换到这个分支(第一种方式只是创建了一个分支,并没有切换)

    下面是使用 git checkout -b dev 创建的 dev 分支,会提示说已切换至新的分支 dev:

    再次使用 git branch 查看分支,会发现本地有两个分支。其中dev分支前有个 *,说明当前分支是dev:

    切换本地分支:

    一个版本库可能有多个分支,例如现在有主分支master,有开发分支dev,那么从dev分支切换至master分支如下:

    git checkout master  #从dev分支,切换到master分支

    如上提示,已经切换至master分了。

    此时再使用git branch查看分支情况,可以看到master前面有个 * ,说明已经切换到master了:

    其实命令行提示尾部括号中的名字,就是当前所在分支:

    可以看到,最后面的括号中的master,表明了当前所在分支。

    合并本地分支:

    合并分支命令:git merge 的工作流程是:将指定分支,合并至当前分支。

    例如需要将 dev 开发分支,合并到 master 主分支上,需要如下两步操作:

    1.切换到主分支

    2.将dev合并至master

    git checkout master  #切换到master分支
    git merge dev  #将dev分支合并至master分支

    例如目前有两个分支,一个master分支,一个是dev分支。

    这时新建了一个文件a.txt,在dev分支上完成git add 、 git commit两步操作,这表明,a.txt是属于dev分支的,切换到master分支时是看不到a.txt的。

    这时切换到master分支,将dev分支合并至master,就会把dev的代码加入到master中。master也就可以看到a.txt了。

    删除本地分支:

    一个分支使用完了,可以删除掉。例如这个分支就是为了修复某一个bug的,bug修好了,新代码合并至master之后,这个分支就可以删除了。

    git branch -d <branch_name>  #删除本地branch_name分支

    另外:删除当前所在分支是不行的,会提示删除失败。

    推送本地分支到远端:

    #下面local_branch_name用来指明要推送本地哪个分支,remote_branch_name用来指明远端接收这个分支后叫什么。
    git push origin [local_branch_name]:<remote_branch_name> 
    
    
    #如果希望推送当前分支,那么local_branch_name:可以省略
    git push origin remote_branch_name
    #另外本地分支名与远端分支名最好保持一致

    其实只有master一个分支时做推送操作的命令中 git push origin master,最后这个master其实就是远端的master分支名,master其实也是一个分支,git要求版本库中必须至少要有一个分支,默认叫master。

    删除远端分支:

    删除远端分支有两种方式:

    1.直接branch命令删除远端:

    git branch -r -d <remote_branch_name>  #-r表示操作的是远端  -d表示执行删除操作

    2.通过推送一个空的分支到远端,用空分支覆盖掉远端分支,从而删除这个远端分支:

    git push origin :<remote_branch_name>  #注意,origin后面有一个 空格,以及一个冒号,这是必不可少的

    3.删除已被删除的远程分支所对应的本地分支:

    一个远程分支被删除了,可是本地还存在其对应的分支引用,可以这样删除:

    git fetch -p

     拉取远程分支:

    1.直接拉取某一分支:

    git checkout -t <remote_branch_name> #-t 意为 track,即跟踪一个远程分支

    2.在初次clone时直接clone某一分支(默认是clone下来主分支master):

    git clone <repository> -b <branch_name>
  • 相关阅读:
    ViewPager留出边 显示左右两边的视图
    Retrofit 2.0 上传文件
    android一个app打开另一个app的指定页面
    Java多线程消费者、生产者的基本思路
    Android 8.0+ 更新安装apk失败的问题
    Android 8.0+ 通知不显示的适配
    android 7.0+ FileProvider 访问隐私文件 相册、相机、安装应用的适配
    android 6.0+ 动态权限 拒绝不再询问后跳转设置应用详情页面
    ViewPager中Fragment的重复创建、复用问题
    Android源码学习(2) Handler之Looper
  • 原文地址:https://www.cnblogs.com/lipijin/p/4287683.html
Copyright © 2020-2023  润新知