Git
git stash
应用场景:当前分支存在未提交的内容,需要切换到其他分支工作,git stash命令会将版本中未提交的内容暂存,暂存后改动内容会在当前版本消失,
可以干净的切换到其他分支,完成后,可以通过命令进行恢复
@git: git diff 比较文件
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
index 7879e1c..9788063 100644
--- a/src/main/webapp/index.jsp
+++ b/src/main/webapp/index.jsp
@@ -1,4 +1,5 @@
<html>
<body>
+<h1>stash</h1>
</body>
</html>
@git: git stash save 'message' 存储版本中暂未提交的改动(message类似提交注释,方便查找)
Saved working directory and index state On stash-test: '暂存'
@git: git diff
无改动文件
@git: git stash list 查看已经存储的记录
stash@{0}: On stash-test: 暂存
@git: git stash show stash@{n} 查看看某个记录的存储内容
src/main/webapp/WEB-INF/web.xml | 2 +-
src/main/webapp/index.jsp | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
@git: git stash apply stash@{n} 应用某个记录存储内容,不删除记录
@git: git stash pop stash@{n} 应用某个存储内容,删除记录
@git: git stash drop stash@{n} 删除某个缓存
@git: git stash clear 清空缓存
git reset、git revert、git rebase
@git: git reset {commit_id} 回退到某个版本
回退的是本地仓库,远程仓库不变,git push会失败,需要git push -f 强制推送当前版本
--soft 保留工作目录和index暂存区
--mixed 默认参数,保留工作目录,清空暂存区
--hard 清空工作目录,index暂存区,本地仓库
@git: git revert {commit_id} 回滚某个版本的修改
生成新版本c,b版本文件依赖a版本文件,回滚a版本会出现冲突,c版本需要解决冲突,在进行git push 推送
<<<<<<< HEAD
<h1>5</h1>
<h1>6</h1>
=======
>>>>>>> parent of 3d1146b... 6
@git: git rebase 合并,复制某段内多个提交记录