git 使用注意事项

1. 未进行add(想要取消修改)

git checkout  -- .     # 全部
git checkout  --filename  # 具体某个文件

#命令中的--很重要,没有--,就可能变成 "分支切换" 的命令,但是如果没写--,且没有对应的分支,也可以恢复,为了保险,最好还是加上。

2.已经add(取消放入本地缓存)

git reset HEAD <file>  # 放弃指定文件的缓存
git reset HEAD .  # 放弃全部

3.已经commit ,但未push到远程仓库

git reset --hard HEAD ^   # 回退上一次commit
git reset --hard commitid  # commitid  为git log 显示的提交历史中的SHA码,只需要前面几位即可。

4.删除远程分支

# 1.7.0之后
git push origin --delete <branch-name >

5.遇到线上bug

开发新功能时,线上出现紧急bug需要修复,这时候手上写了部分代码还不能或者不想提交,又要切换分支先修复bug,git stash 保留当前修改,
后面修复完了切回分支,git stash apply恢复非常方便

 6.git stash 详解

https://blog.csdn.net/stone_yw/article/details/80795669

git stash apply --index  # 重新应用被暂存的变更

 7.git rebase 详解

使用 rebase 和 merge 的基本原则:

下游分支更新上游分支内容的时候使用 rebase
上游分支合并下游分支内容的时候使用 merge
更新当前分支的内容时一定要使用 --rebase 参数
例如现有上游分支 master,基于 master 分支拉出来一个开发分支 dev,在 dev 上开发了一段时间后要把 master 分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master
等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev

https://zhuanlan.zhihu.com/p/34197548

原文地址:https://www.cnblogs.com/songxiaohua/p/9626849.html