- 执行git merge操作合并代码后但还没add时,若想取消这次合并,使用如下命令即可。
git merge --abort
- git 放弃本地操作,直接更新拉取远程最新代码
git branch # 查看自己所在分支
git fetch # 下载远程仓库最新代码,不做合并处理
git reset --hard origin/当前分支 #把head指针指向刚刚下载的最新代码,撤销本地、暂存区的修改。
- 本地出现了问题,通过git reset --hard 回退了两个版本解决了问题,发现问题根本就不需要回退
这时候在就回不去了。git log就没之前的记录了,只剩下hard之前的版本了,难受的一批。
还好有办法恢复:
进入到当前项目的.git文件夹内,./git/logs/refs/heads
,所有的操作的记录都可以在这里找到。
用后半段的值恢复对应的版本号
- git commit后如何撤销
- 情况一:撤销git commit命令和撤销git add
命令:git reset --hard HEAD^
作用:删除工作空间修改过的代码,撤销commit&撤销add
- 情况二:仅撤销git commit 命令
命令:git reset --soft HEAD^
作用:不删除工作空间修改过的代码,仅撤销commit
在 HEAD
后面加 ^
或者 ~
其实就是以 HEAD
为基准,来表示之前的版本,因为 HEAD 被认为是当前分支的最新版本,那么 HEAD~
和 HEAD^
都是指次新版本,也就是倒数第二个版本,HEAD~~
和 HEAD^^
都是指次次新版本,也就是倒数第三个版本,以此类推。
其中, HEAD~ 和 HEAD^ 的作用是相同的,这两者的区别出现在重复使用或者加数字的情况,参考链接:https://blog.csdn.net/albertsh/article/details/106448035
- npm包发版,提交tag
git tag -a v1.0.0 -m '完成初步功能'
git push origin --tags