git操作

  • 合并
 git merge
  • 变基
    将当前分支的提交复制到指定的分支之上。
 gir rebase

在这里插入图片描述

  • 交互式变基
    在我们正在 rebase 的提交上,我们可以执行以下 6 个动作:

    • reword:修改提交信息;
    • edit:修改此提交;
    • squash:将提交融合到前一个提交中;
    • fixup:将提交融合到前一个提交中,不保留该提交的日志消息;
    • exec:在每个提交上运行我们想要 rebase 的命令;
    • drop:移除该提交

将多个提交融合到一起
移除一个提交

  • 重置
git reset

默认 git reset --mixed
重置后文件会变红,未add

软重置

重置后提交的文件会变绿,恢复到已添加,未提交的状态(add)

会将 HEAD 移至指定的提交(或与 HEAD 相比的提交的索引),而不会移除该提交之后加入的修改!
在这里插入图片描述
输入 git status 后,你会看到我们仍然可以访问在之前的提交上做过的所有修改。这很好,这意味着我们可以修复这些文件的内容,之后再重新提交它们!

硬重置

重置后文件也会丢失

直接将整体状态直接重置到特定提交之前的状态:这甚至包括你在工作目录中和暂存文件上的修改。在这里插入图片描述
Git 丢弃了 9e78i 和 035cc 引入的修改,并将状态重置到了 ec5be 的状态。

  • 还原
git revert
  • 拣选
git cherry-pick

假设 dev 分支上的提交 76d12 为 index.js 文件添加了一项修改,而我们希望将其整合到 master 分支中。我们并不想要整个 dev 分支,而只需要这个提交!
在这里插入图片描述
现在 master 分支包含 76d12 引入的修改了。

  • 取回
git fetch
  • 拉取
git pull

git pull 实际上是两个命令合成了一个:git fetch 和 git merge。

  • reflog
git reflog

展示已经执行过的所有动作的日志

假设我们实际上并不需要合并原有分支。当我们执行 git reflog 命令时,我们可以看到这个 repo 的状态在合并前位于 HEAD@{1}。那我们就执行一次 git reset,将 HEAD 重新指向在 HEAD@{1} 的位置。在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值