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

  • 相关阅读:
    zoj 3627#模拟#枚举
    Codeforces 432D Prefixes and Suffixes kmp
    hdu 4778 Gems Fight! 状压dp
    CodeForces 379D 暴力 枚举
    HDU 4022 stl multiset
    手动转一下田神的2048
    【ZOJ】3785 What day is that day? ——KMP 暴力打表找规律
    poj 3254 状压dp
    C++中运算符的优先级
    内存中的数据对齐
  • 原文地址:https://www.cnblogs.com/youring2/p/13682263.html
Copyright © 2011-2022 走看看