多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 版本穿梭/版本回退 ## 如果文件已经被`commit`,可以通过`git reset --hared HEAD` ### 1. 版本回退: ~~~ git reset --hard HEAD #回退到当前最高版本 git reset --hard HEAD^ #回退到上一版本,回退两个版本 用 ^^ ~~~ ### 2. 回退到指定版本 ~~~ git reset --hard 版本号前七位或者版本号 # 回退到指定版本 ~~~ ## 如果文件没有被commit时 1. 回退到当前最高版本 ~~~ git reset --hard HEAD ~~~ 2. 检出当前分支的最高版本 ~~~ git checkout 文件 #在git中 checkout可以做revert操作,也就是版本回退。 ~~~ ## 查看历史版本 ~~~ git log #日志 git reflog #查看修改参考日志 ~~~ ### 3. 放弃文件修改 #### 1. 修改后未提交到暂存区 放弃指定文件/文件夹修改 ~~~ $ git checkout -- filename ~~~ 所有文件/文件夹: ~~~ git checkout . ~~~ #### 2. 已`git add`提交到了暂存区 单个文件/文件夹: ~~~ git reset HEAD filename ~~~ 所有文件/文件夹: ~~~ git reset HEAD . ~~~ #### 3. 本地通过git add & git commit 之后,想要撤销此次commit ~~~ git reset commit_id ~~~ 这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位 **// 撤销之后,你所做的已经commit的修改还在工作区!** ~~~ git reset --hard commit_id ~~~ 这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位 **// 撤销之后,你所做的已经commit的修改将会清除,仍在工作区/暂存区的代码也将会清除!** ### 4. 放弃文件添加 #### 1. 本地新增了一堆文件(并没有git add到暂存区),想放弃修改。 单个文件/文件夹: ~~~ rm filename / rm dir -rf ~~~ 所有文件/文件夹: ~~~ git clean -xdf ~~~ #### 2. 已`git add`提交到了暂存区 单个文件/文件夹: ~~~ git reset HEAD filename ~~~ 所有文件/文件夹: ~~~ git reset HEAD . ~~~ #### 3. 本地通过git add & git commit 之后,想要撤销此次commit ~~~ git reset commit_id ~~~ 这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位 **// 撤销之后,你所做的已经commit的修改还在工作区!** ~~~ git reset --hard commit_id ~~~ 这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位 **// 撤销之后,你所做的已经commit的修改将会清除,仍在工作区/暂存区的代码也将会清除!**