zoukankan      html  css  js  c++  java
  • git学习(4)远程库和分支管理

    git学习(4)远程库和分支管理

    1.1建立本地git库和远程库联系

    我使用的是GitHub上的库,首先在GitHub上新建一个库,在建立与远程库的联系之前需要建立ssh key。建立ssh key可以参考廖老师的博客

    $ git remote add origin git@github.com:keithmorning/studygit.git

    上面的格式是$ git remote add 远程库名称 git地址:gitHub账户名/远程git名称

    下一步将本地库推送到远程库

    $ git push -u origin master
    Counting objects: 19, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (12/12), done.
    Writing objects: 100% (19/19), 1.47 KiB | 0 bytes/s, done.
    Total 19 (delta 4), reused 0 (delta 0)
    To git@github.com:keithmorning/gitstudy.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    
    

    由于远程库是空的,我们第一次推送的时候,添加-u参数,可以吧本地的master和远程的master分支关联起来
    以后再提交的时候使用
    $ git push origin master就可以了

    1.2从远程库克隆

    先在gitHub上建立一个studygit的库,在初始化的时候选择initial with a readme.md,用来克隆的时候查看,命令git clone 地址

    $ git clone git@github.com:keithmorning/studygit.git
    Cloning into 'studygit'...
    remote: Counting objects: 3, done.
    remote: Total 3 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (3/3), done.
    Checking connectivity... done.
    fengxideMac:documents fengxi$ cd studygit
    fengxideMac:studygit fengxi$ ls
    README.md
    fengxideMac:studygit fengxi$ cat readme.md
    # studygit
    from remove study git
    fengxideMac:studygit fengxi$ 
    

    1.3总结

    git从本地提交到远程版本库的时候,首先使用git remote add 远程库名+地址,然后使用git push+地址命令,如果是第一次提交需要建立本地分支和远程分支的联系git push -u +地址
    从远程版本库在本地建立克隆库使用命令git clone +地址

    2分支管理

    2.1分支的概念

    先放上廖老师的经典图片

    如果我们只有一个分支,那么这个分支的随着我们的提交是

    --->A(master)--->B(master)---->C(master)

    HEAD指向C,即当前分支
    我们通过git checkout -b newBranch,新建一个分支变成这样的,并让指针指向新分支

    --->A(master)--->B(master)---->C(master)
    
    								       ---->D(newBranch)<HEAD>
    

    在新分支中做文件修改后,添加并提交。完成后切换master,然后合并分支,使用命令 merge,指针指向master

    --->A(master)--->B(master)---->C(master)----D(newBranch,master<HEAD>)
    												
    

    2.2命令实现

    $ git checkout -b newBranch
    Switched to a new branch 'newBranch'
    $ git add readme.txt
    $ git commit -m "new branch"
    [newBranch 86c291c] new branch
     1 file changed, 1 insertion(+)
    $ git checkout master
    Switched to branch 'master'
    $ git merge newBranch
    Updating bb84d1d..86c291c
    Fast-forward
     readme.txt | 1 +
     1 file changed, 1 insertion(+)
    

    删除newBransh分支

    --->A(master)--->B(master)---->C(master)----D(master<HEAD>)
    												
    
    $git branch -d newBranch
    Deleted branch newBranch (was 86c291c).
    

    2.3总结

    命令 介绍
    git branch 查看分支
    git branch <name> 创建分支
    git checkout <name> 切换分支
    git checkout -b <name> 创建并切换分支
    git merge <name> 合并某一分支到当前分支
    git branch -d <name> 删除某一分支
  • 相关阅读:
    SpringCloud高可用和高并发
    时间重要性,我们需要如何利用极致
    Spring是什么 包括SpringBean SpringMVC SpringBoot SpringCloud
    Java 线程的基本使用
    JVM 内存模型
    Java 8 ArrayList 详解
    Java 8 HashMap 源码解析
    Docker 运行 MySQL,使用 docker-compose
    Spring Boot 主从读写分离
    Spring Boot 整合 MyBatis 实现乐观锁和悲观锁
  • 原文地址:https://www.cnblogs.com/keithmoring/p/4230940.html
Copyright © 2011-2022 走看看