git的rebase、reset、merge

我认为对于git初学者来说最令人困惑的是主要命令根据参数或上下文有多种用途,其中一些用法没有通过命令的名称来描述。

合并(Merge)

  • 合并不同的分支(不同的历史,更确切地说)
  • 如果不需要合并,则快进 ; 有效地将分支头重新定位到后代提交
  • 不需要结果git pull

变基(Rebase)

  • 重放一组提交,就像它们是基于另一个父级一样
  • 交互式地用于历史清理:重新排序和压缩相关的提交
  • 应该用来git pull代替合并

   重置(reset)

  • 重置(unstages)更改添加到索引; 撤销git add
  • 分支头重新定位到另一个提交; 可选地重置索引和工作树
    • 撤消提交,要么丢弃更改,要么保留它们以供下次提交
    • 丢弃自上次提交以来的所有工作副本更改

签出(checkout)

  • 切换分支
    • 创建一个新分支并切换到它
  • 出另一个提交中的文件或目录
    • 丢弃自上次提交以来的所有工作副本更改
    • 解决合并冲突

猜你喜欢

转载自blog.csdn.net/kingmax54212008/article/details/83570433