• git 分支管理


    前面在讲git的基本使用时提到过HEAD指向当前版本,但具体的情况是HEAD指向当前分支,当前分支指向最新的提交也就是当前版本

    1.分支的创建与切换

    查看当前分支

    git branch,可以看到是默认的master分支

    创建一个新的分支然后切换到新分支

    git branch new_branch

    git checkout new_branch

    当然可以使用git checkout -b 分支 创建并切换到新分支

    2.在新分支中提交一次修改

    查看下git log

    切换到master分支 git checkout master

    再次查看git log,显然master分支没有我们刚刚提交的修改

    3.分支的合并

    现在我们在master分支中,我们要把new_branch分支合并过来

    git merge new_branch

    git log,可以看到合并成功了

    4.分支的删除

    合并成功之后可以删除分支了

    git branch -d new_branch

    5.分支合并的冲突问题

    在上面第三点合并分支时采用的是fast-forward模式(只在新分支中编辑master已经存在的文件并提交,默认的方式,但是这种方式不会创建新的版本记录)

    但是当我们新建一个分支后,在该分支与master分支编辑了同一个文件的相同部分并提交后再一次合并,此时就会出现冲突

    此时可以在master中重新git add该文件,然后git commit即可

    6.由于合并时fast-forward方式不会创建新的版本记录,在master中合并bug分支时我们就不知道最新的版本是否已经修复bug,此时可以使用

    git merge --no-ff 分支 进行合并,使用git log -graph --pretty=oneline可以清楚的看到使用该命令创建了新的版本记录

    7.储存工作场所

    对工作区的部分文件修改工作未完成,但要优先处理其他分支的问题,此时不希望提交本工作区文件,可以先把工作区储存起来,等之后再进行恢复就可以继续编辑了

    git stash 保存当前工作区 

    git stash list 查看储存的工作区

    git stash pop 恢复工作区继续编辑

     

  • 相关阅读:
    Ionic Tabs使用
    Angular 4 延缓加载组件
    JSP include 指令
    JSP 执行流程
    Tomcat 配置
    Spring boot 项目创建(Spring Boot 1.5.7 + Spring Data JPA + MySql)
    Java Web Service 学习笔记
    Tomcat 去除项目名称
    Angular 4 路由守卫
    Angular 4 辅助路由
  • 原文地址:https://www.cnblogs.com/tele-share/p/10506922.html
Copyright © 2020-2023  润新知