git 使用总结

git add .
git commit -m ""
git pull --rebase
git push

git commit --amend 覆盖上次的git commit 提交

git pull --rebase

git fetch

git stash list

git stash 提交到暂存区

git stash pop 拉取暂存区的代码

git stash show 显示最新stash中的修改内容

git stash show -p stash@{1} 次新

git log

git show XX

git cherry-pick A..B
遇到冲突:
1)--continue
解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行。

git cherry-pick --continue

2--abort

发生代码冲突后,放弃合并,回到操作前的样子。

3--quit

发生代码冲突后,退出 Cherry pick,但是不回到操作前

git rebase --continue

git撤销pull命令

pull merge合并出错的时候怎么办。

还没commit:git merge --abort ,丢弃正在进行的合并

已经commit:

git revert -m 1 HEAD 新建一个commit,并且回到合并之前的状态

git reset --hard commit_id 回退到指定的commit节点

git reflog 命令查看你的历史变更记录

git reset --hard HEAD@{n}, n是你要回退到的引用位置)回退

HEAD@{5}

merge 中想修改之前某个分支的commit 信息:

切换到需要修改单个commit 的分支, 在 merge 中不合适修改;

git reset 回滚策略

--hard:重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。就是你的没有commit的修改会被全部擦掉。

--soft:重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区

--mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

git reset --mixed(默认)**xx **

所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。

--soft

所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

--hard

效果看起来等同于清空暂存区和工作区。就是你的没有commit的修改会被全部擦掉。

git restore --staged : 将文件从暂存区撤出,但不会撤销 工作区 文件的更改 (即: git status 提示的 被修改 且 被加入暂存区的内容,会被撤销,工作区文件的更改 不会变)
git restore :将不在暂存区的文件撤销更改 (即: git status 提示的 被修改 但 未被加入暂存区的内容,会被撤销)

git restore --staged : 撤销 暂存区

git restore : 撤销 本地修改

找回丢失的代码:

git fsck --lost-found |grep commit

git stash apply xxx

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

推荐阅读更多精彩内容

  • 注:本文首发于 https://github.com/ShannonChenCHN/GitTour。 一、Git ...
    ShannonChenCHN阅读 801评论 0 2
  • 看了以前自己写的总结,有一些还是对别人有意义的,打算认真归纳下,陆续发布不出来。 就今天给公司新来的前端实习生做了...
    w如弈如意c阅读 236评论 0 1
  • 特有名词解释 DETACHED HEAD HEAD normally refers to a named bran...
    清水芦苇阅读 601评论 0 0
  • git reset 版本回退的三种用法总结 git reset (--mixed) HEAD~1回退一个版本,且会...
    fadeqi阅读 316评论 0 4
  • 所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、...
    LittleSakana阅读 329评论 6 3