git 命令

命令 解释
git reset --soft commitId 软回退(--soft):这将保留工作目录和暂存区中的更改,但会将 HEAD 指针移动到指定的提交。这对于仅仅想撤销最近的一次提交很有用。!
git reset --hard commitId 硬回退(--hard):这将撤销工作目录和暂存区中的所有更改,并将 HEAD 指针移动到指定的提交。这对于想要完全撤销提交并丢弃所有更改的情况很有用
git cherry-pick commit cherry-pick 和它的名称翻译一样,精心挑选,挑选一个我们需要的 commit 进行操作。它可以将在其他分支上的 commit 修改,移植到当前的分支。
git merge b 合并b分支到当前分支, 生成1次提交
git rebase b 合并b分支到当前分支, b分支比当前分支多的commit数量的提交
git commit --amend 生产一个新的提交,并丢弃上次的提交
  • git commit --amend
git cherry-pick 解释
git commit --amend --no-edit 使用选定的提交消息而无需启动编辑器。(追加提交,且不修改message信息。)
  1. 如果自上次提交以来,你还未做任何修改(例如,在上次提交后马上执行了此命令),那么快照会保持不变(不产生新的commit),而修改的只是提交信息。
  2. 或者你提交后发现忘记了暂存某些需要的修改,可以将该文件添加到暂存区,然后在使用git commit --amend 命令进行追加提交。
  3. 需要注意的是,amend 实际上修改了上一个 commit。所以如果已经 push 了上一个 commit,请尽量不要 amend。
    如果一定要 amend 已经 push 了的 commit,请确保这个 commit 所在的 branch 只有你一个人使用(否则会给其他人带来灾难),然后在 amend 之后使用 git push --force。
  • git cherry-pick 其他用法
git cherry-pick 解释
git cherry-pick commit1^..commit10 转移从1 到 10的所有提交
git cherry-pick commit1..commit10 转移从1 到 10的所有提交 不包含1
git cherry-pick commit1 commit5 commit10 转移 1,5,10
git cherry-pick feature 表示将feature分支的最近一次提交,转移到当前分支。

如果操作过程中发生代码冲突,cherry pick 会停下来,让用户决定如何继续操作。
--continue
用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 cherry pick 过程继续执行。
--abort
发生代码冲突后,放弃合并,回到操作前的样子。
--quit
发生代码冲突后,退出 cherry pick,但是不回到操作前的样子。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,681评论 1 26
  • 简介 Git 作为分布式版本控制系统,基于去中心化的设计思想,在每个分布式节点上都保存有完整的版本,降低了对中心仓...
    zhipingChen阅读 611评论 0 3
  • 1.git的简单使用流程 git分为工作区(working directory)、暂存区(index或者stage...
    轰炸机上调鸡尾酒阅读 1,691评论 0 1
  • 自下往上(工作区 to 远程仓库) git init:将当前文件夹初始化为一个git库git status :查看...
    yandaxin阅读 365评论 0 2
  • Git基本概念 Git是什么 Git是一个分布式代码管理工具,而SVN则是集中式代码管理工具。 集中式: 所有的代...
    CDF_cc7d阅读 473评论 0 1