forked from logzhan/NotesUESTC
1.6 KiB
1.6 KiB
一、Commit回退
1.1 从一次commit回退到某一次commit
1.1.1 查看历史提交记录
# git 查看历史commit
git log
1.1.2 复制上一次提交的commit码
1.1.3、输入回退命令
git revert your_commit_code
1.2 强制回到某一次提交
在部分时候,由于版本冲突的问题,1.1 中提到的方法报冲突错误,这个时候实在没有办法可以使用git reset --hard
命令。其步骤如下所示。值得注意的是,由于这个命令会重写历史,所以需要跟仓库的协作者进行沟通。
# 先找到要回去的commit的commit号
git log
# 回到某一次提交
git reset --hard your_commit_code
# 强制推送,这是因为本地修改后提交上去会重新覆盖之前的历史,如果不force会报冲突错误。
git push -f origin your_branch
二、放弃所有文件修改 (未Commit)
2.1 解决方法(两种解决方法)
# 方法1
git add .
git reset --hard "commit_code"
# 方法2,实际测试
git stash
git stash drop #丢弃指定条目
2.1 git stash 命令
别急,Git提供了一个git stash命令恰好可以完美解决该问题, 其将当前未提交的修改(即,工作区的修改和暂存区的修改)先暂时储藏起来,这样工作区干净了后,就可以切换切换到master分支下拉一个fix分支。在完成线上bug的修复工作后,重新切换到dev分支下通过git stash pop命令将之前储藏的修改取出来,继续进行新功能的开发工作