• 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 恢复工作区继续编辑

     

  • 相关阅读:
    5.对象的简化属性
    7.函数参数默认值
    python中argparse
    VC 6.0 打开文件出错
    【UNIX程序设计教程】 阅读初体验(1)
    引以为鉴ARM开发板连线注意事项
    windows xp宿主机 + Linux 虚拟机 网络配置
    Gcc编译选项分析
    ADS下调试出现的警告信息
    S3C2440串口通讯实现
  • 原文地址:https://www.cnblogs.com/tele-share/p/10506922.html
Copyright © 2020-2023  润新知