《Pro Git》第3章 分支

  • 1.分支简介
    • git保存的不是文件的差异,而是不同时刻的文件快照
    • git仓库中的对象:

      • commit对象:包含指向前一个commit的指针的所有提交信息
      • 树对象:记录目录结构和blob对象索引
      • blob对象:保存着文件快照
    • HEAD指针:指向当前所在的本地分支,可认为是当前分支的别名
      • git log --oneline --decorate 使用--decorate查看各个分支当前所指的commit对象
      • git log --oneline --decorate --graph --all ,它会输出你的提交历史、各个分支的指向以及项目的分支分叉情况。 
  • 2.分支的新建与合并
    • 常用命令
      • git branch [branch-name]:创建新分支,但不切换
      • git chekcout [branch-name]:切换到分支,HEAD指针将指向指定分支
      • git checkout -b [branch-name]:创建新分支,并切换分支,相当于上面命令的和
      • git branch -d [branch-name]:删除分支
    • 分支合并
    • 冲突解决
  • 3.分支管理(完结)
    • git branch:显示所有分支,*是当前HEAD指向的分支
    • git branch -v:显示所有分支,并显示每个分支的最后一次提交(v指的是verbose)
    • 查看已合并或未合并到当前分支的分支
      • git branch --merged:查看哪些分支已经合并到当前分支
        • 通常列表中分支前没有*号的分支可以使用git branch -d删除,因为已经将其整合到另一个分支了,所以不会失去任何东西

      • git branch --no-merged:查看哪些分支尚未合并到当前分支
        • 这些分支因含有尚未合并的工作,(在当前分支)使用git branch -d删除时会失败
        • 强制删除 git branch -D [branch-name]
  • 4.分支开发工作流(完结)
    • 长期分支:仅在master分支上保留完全稳定的代码
  • 5.远程分支(完结)
    • 基本原理
      • 远程仓库:远程仓库中master分支
      • 本地仓库:
        • master为本地分支,用于保存本地主分支进度
        • origin/master为本地的跟踪分支,用于跟踪远程的master分支
        • 注意:本地的origin/master可能不与远程master相同,需使用git pull同步
    • 显示远程分支信息
      • git ls-remote:获取远程引用的完整列表
      • git remote show:显示远程分支信息
    • 推送
      • git push origin local-name:remote-name
      • 示例:git push origin aaa:bbb 推送本地aaa分支到origin仓库的bbb分支
    • 拉取
      • git pull
    • 删除远程分支
      • git push origin --delete remote-name
  • 6.变基(git rebase暂时忽略)

猜你喜欢

转载自blog.csdn.net/hanhan122655904/article/details/114639366