Git总结

Git练习地址 : Learn Git Branching

主要

1.基础篇

  • git commit

  • git branch
    创建分支 : git branch <分支名>
    切换分支 : git checkout <分支名>
    创建分支同时切换到新分支 : git checkout -b <分支名>

  • git merge
    合并分支 : git merge <分支名>

  • git rebase
    复制提交记录 : git rebase <分支名>

:上面两种合并情况都要注意当前分支是什么

2.高级篇

  • 分离HEAD
    git checkout <提交记录的哈希值>

  • 相对引用
    使用 “^” 向上移动 1 个提交记录
    使用 ~<数字> 向上移动多个提交记录,如 ~3
    : git checkout main^
    使用此命令让分支指向另一个提交 : git branch -f <来源> <目的>

  • 撤销变更
    git reset <目的提交记录> : 把分支记录回退几个提交记录来实现撤销改动,主要用于本地,
    git revert <来源提交记录> : 为了撤销更改并分享给别人
    :要切换到当前分支再撤销变更

3.移动提交记录

  • git cherry-pick <提交号> : 将一些提交复制到当前所在的位置(HEAD)下面
  • git rebase -i <提交号> : 交互式界面

4.杂项

  • 只取一个提交记录
  • 提交技巧
  • git tag <标签名> <提交号> : 永久地将某个特定的提交命名为里程碑
  • git describe <引用> : 输出的结果是这样的 : tag_numCommits_hash.
    tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位。当 ref 提交记录上有某个标签时,则只输出标签名称.

5.高级话题

  • 多次rebase
  • 两个父节点 : 第一个父节点(较早) git checkout main^ .第二个父节点 git checkout main^2
  • 纠缠不清的分支

远程

1.Push & Pull —— Git 远程仓库!

  • git clone
  • 远程分支 : <remote name>/<branch name>
  • git fetch : 并不会改变你本地仓库的状态。它不会更新你的 main 分支,也不会修改你磁盘上的文件
  • git pull
  • 模拟团队合作
  • git push
  • 偏离的提交历史 : git pull --rebase,git push
  • 锁定的main : 新建一个新分支,然后push新分支,再reset main分支,这就是我们常说的pull request

2.关于 origin 和它的周边 —— Git 远程仓库高级操作

  • 推送主分支 : 比如有多个特性分支,要合并特性分支再推上去
  • 合并远程仓库
  • 远程追踪 :
    方法一 : git checkout -b totallyNotMain o/main 可以创建一个名为 totallyNotMain 的分支,它跟踪远程分支 o/main。
    方法二 : git branch -u o/main foo 这样 foo 就会跟踪 o/main 了
  • git push的参数 :
    一 . git push <remote> <place>
    例 : git push origin main 切到本地仓库中的“main”分支,获取所有的提交,再到远程仓库“origin”中找到“main”分支,将远程仓库中没有的提交记录都添加上去
    二 . git push origin <source>:<destination>
  • git fetch的参数 :
    git fetch origin foo .Git 会到远程仓库的 foo 分支上,然后获取所有本地不存在的提交,放到本地的 o/foo 上
  • 没有source的source : 这里指的上面两个source参数
  • git pull的参数 :
    一 . git pull origin main : 通过指定 main 我们更新了 o/main。然后将 o/main merge 到我们的检出位置
    二 . git pull origin main : foo : 先在本地创建了一个叫 foo 的分支,从远程仓库中的 main 分支中下载提交记录,并合并到 foo,然后再 merge 到我们的当前检出的分支 bar 上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱看动漫的研究僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值