Git 分支

分支理解
当使用 git commit 进行提交操作时,Git 会先计算每一个子目录的校验和,然后在Git仓库中这些校验和保存为树对象。 随后,Git 便会创建一个提交对象,它除了包含上面提到的那些信息外,还包含指向这个树对象(项目根目录)的指针。如此一来,Git就可以在需要的时候重现此次保存的快照。

Git对象

  • blob对象, 保存文件快照对象
  • 树对象, 记录目录结构和blob索引
  • 提交对象, 包含指向树对象指针以及所有提交信息

本地分支管理

  • git branch 查看当前本地有多少分支
  • git branch -v 查看每个本地分支的最后一次提交
  • git branch -vv 查看本地分支的所有跟踪分支
  • git branch --merged 查看合并到当前分支的分支有哪些
  • git branch' --no-merged 查看未合并到当前分支的分支有哪些
  • git branch branch-name 创建分支
  • git branch -d branch-name 删除branch-name分支
  • git branch -D branch-name 强制删除branch-name分支

远程分支管理

  • 远程跟踪分支以(remote)/(branch)命名, 它们是远程分支的本地引用, 表示上次你连接远程仓库时候分支所处的状态
  • git ls-remote [remote-name] 获取远程应用的完整列表
  • git remote show [remote-name] 显示远程分支更多信息
  • git push origin --delete branch-name 删除远程分支

分支切换

  • git checkout branch-name 切换分支
  • git check -b branch-name 创建并切换到新分支上
  • git checkout -b [branch] [remotename]/[branch] 创建一个跟踪远程分支的本地分支
  • git checkout --track [remotename]/[branch] 设置本地分支跟踪远程分支
  • git branch -u [remotename]/[branch] 设置本地分支跟踪远程分支

变基

  • git rebase branch-name 将当前分支变基到branch-name分支上
  • git rebase --onto master server client 取出 client 分支,找出处于 client 分支和 server 分支的共同祖先之后的修改,然后把它们在 master 分支上重演一遍
  • git config --global pull.rebase true 更改git pull默认为git pull --rebase

其它相关

  • git fetch remote-name 抓取远程仓库有而本地仓库没有的数据, 并不合并, 相当于更新跟踪分支
  • git log --oneline --decorate --graph --all 查看提交历史, 分支指向以及项目分支分叉情况
  • git merge branch-namebranch-name合并到当前分支上
  • git push [remote] [branch] 推送分支到远程仓库

转载于:https://juejin.im/post/59dda0bcf265da432e5afba1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值