zoukankan      html  css  js  c++  java
  • Git分支操作方法

    Git仓库介绍

    Git仓库分为本地仓库和远程仓库,及时是从远程clone下来的仓库,它在本地也是独立的,它包含了你所clone分支的所有源代码和历史记录,可以方便的在本地进行操作。

    Git天生就是分布式的,本地仓库中可以完成checkout、stage、commit、reset、log等操作,这是一个源码管理系统的最常用功能,即便是断网的情况下,也可以使用本地的仓库查看历史记录、提交源码、合并分支。

    分支是Git的一大亮点,与VSS、SVN、TFS不同的是,Git可以快速的在本地创建分支,通常是在瞬间完成的。

    查看分支

    git branch

    该命令可以查看本地分支,也可以使用参数 -a 查看所有分支。

     

    上图中可以看到所有本地分支和远程分支,其中带 * 号的分支为当前的工作区使用的分支。

    创建分支

    git branch future#a

    上面的代码演示了创建名称为future#a的分支

    迁出分支

    git checkout future#a

    以上两个命令实现了创建并使用分支future#a的功能,它们还可以简化为一条指令:

    git checkout -b future#a

    在checkout的时候添加命令 –b 即可创建并使用该分支。

    删除分支

    git branch –d future#a

    当我们完成一个分支的开发,并完成合并后,可以使用-d命令删除分支。此时,如果分支未完成合并,删除时会提示失败。

    如果要强制删除分支,可以使用命令-D来实现。

    提交分支

    git commit future#a

    使用commit指令可以提交当前工作区被跟踪的更改。

    合并分支

    git merge future#a

    使用merge指令,可以实现分支的合并。

    远程操作

    以上命令都是基于本地进行操作的,并不会影响到远程的源代码。当我们完成代码后,需要将本地源码提交到远程库中,此时需要使用push指令,从远程拉去源代码需要使用pull指令。

    git push –-set-upstream origin future#a

    上面的代码演示了本地新创建的分支推送到远程分支。如果已经建立了远程的关联,则只需要使用git push即可。

    git pull origin dev

    上面的代码演示了从远程拉取dev分支,要使用拉取的分支,只需要使用checkout指令即可。

     演练:

    根据本地dev分支创建future分支,推送到远程仓库,开发完成后合并到dev分支,并删除future分支。

    1. 签出dev分支
      git checkout dev
    2. 创建future分支,注意future的命名格式,以future开头,#分割,并使用新功能简要描述。
      git checkout -b future#caching
    3. 提交future分支,并推送到远程仓库
      git add .                                        #将修改的文件添加到暂存区
      git commit                                       #提交到本地仓库
      git push –-set-upstream origin future#caching    #推送远程仓库
    4. 合并到dev分支
      git checkout dev                            #切换到dev分支
      git merge future#caching                    #合并future分支
      git push dev                                #合并完成后推送dev分支
    5. 删除future分支
      git branch –d future#caching                 #本地删除future分支
      git push origin :heads/future#caching        #从远程删除future分支

    建议先在本地使用命令行进行练习,熟练可以看各个指令对应的可视化工具,目前我们使用过的可视化工具有GitExtensions/VisualStudio/VSCode等,所有可视化工具都是对git的封装,最根本的还是要掌握命令行的操作。

    参考文档:https://git-scm.com/book/zh/v2

  • 相关阅读:
    POJ 2259 Team Queue(队列)
    AcWing 129 火车进栈(模拟,dfs)
    AcWing 128 编辑器(对顶栈)
    AcWing 106 动态中位数(对顶堆)
    AcWing 124 数的进制转换 (高精度)
    AcWing 126 最大的和(贪心,前缀和,暴力ver.)
    【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows
    「BZOJ 3209」花神的数论题
    「BZOJ 2142」礼物
    扩展卢卡斯定理(Exlucas)
  • 原文地址:https://www.cnblogs.com/youring2/p/13682263.html
Copyright © 2011-2022 走看看