发现自己本地代码全部没提交,送给自己一首凉凉。
解决办法,直接上图(idea版本2020.1)
路径: idea底部-> git -> Shelf -> 右键->选择Unshelve(或者选中状态下点击左侧按钮)
上图右侧2种方案后续操作如下:
方法一:
右键选择Unshelve出现如下界面
输入comment->Unshelve Changes
看情况是否需要替换,可以一个一个类查看,lz需要替换,故点击Overwrite
有冲突时合并下,出现如下提示,恭喜你未提交的代码找回来了,记得提交,避免丢失
点左侧图片,出现如下合并代码窗口,慢慢合并完所有的代码即可
非常熟悉指令的可以使用指令
1.git stash list查看暂存列表,最近的一次暂存是stash@{0}。(查看暂存修改内容git show stash@{0})
2.git stash apply stash@{0} 取出暂存号为stash@{0}的代码。即git stash apply xxxx(暂存号)
由于种种原因,写的代码没有提交到本地仓库(更别说远程仓库)然后同事说,合下他的代码到我到分支。脑子抽了,直接点了idea的merge按钮发现自己本地代码全部没提交,送给自己一首凉凉。解决办法,直接上图(idea版本2020.1)路径: idea底部-> git -> Shelf -> 右键->选择Unshelve(或者选中状态下点击左侧按钮)方法一:右键选择Unshelve出现如下界面输入comment->Unshelve Changes
1.
git
sta
sh
list查看暂存列表,最近的一次暂存是sta
sh
@{0}。(查看暂存修改内容
git
sh
ow sta
sh
@{0})
2.
git
sta
sh
apply sta
sh
@{0} 取出暂存号为sta
sh
@{0}的
代码
。即
git
sta
sh
apply xxxx(暂存号)
https://www.cnblogs.com/liuyongfa/p/13995329.html
https://www.cnblogs.com/xzdm/p/11064514.html
昨天我把
代码
commit并pu
sh
到了
github
上,然后做了一系列修改。现在我想把这一系列修改删掉,即恢复到commit的状态。
基本思路:
使用
git
diff 配合
git
checkout – 文件名(带路径的)将每个改动文件的恢复。
1.首先查看仓库的状态:
显示我们在上次commit之后并
未
add 和 commit.
$
git
status
On branch ma...
1、checkout 某个文件,或者进入某个文件夹执行
git
checkout . 这种方式会把当前的工作区的内容全部丢弃掉,checkout慎用,却也是最方便,开发至混乱阶段时,直接一句checkout丢失当前混乱的内容,比如直接使用.
git
回滚至上次
提交
的所有状态,这种方式更多用于查阅,而不参与主线开发的情况。
2、
git
reset -hard commitID 也能实现回滚,但是会丢
我们在使用
git
管理
代码
时通常要
提交
和拉取
代码
,但是某些时候存在误操作的行为。例如
代码
还没
提交
就做了checkout、pu
sh
动作,导致写了几天的
代码
没有备份就丢失或者被覆盖了。
在执行
git
checkout master或者
git
pu
sh
命令前,执行过commit命令
git
commit -m "xxx",
git
工具才能给你记录你的版本变化(本地的),否则丢失
代码
可能无可挽救。
(1)查看历史本地
git
版本:
git
reflog。运行结果如下图所示,现在需要回滚到ch
这将取消您可能已暂存的所有文件
git
add:
git
reset
这将还原所有本地
未
提交
的更改(应在repo root中执行):
git
checkout . 您还可以仅将
未
提交
的更改还原到特定文件或目录:
git
checkout [some_dir|file.txt] 还原所有
未
提交
更改的另一种方法(更长时间键入,但可以从任何子目录工作):
git
reset --hard HEAD
这将删除所有本地
未
跟踪文件,因此只保留
git
跟踪文件:
git
clean -fdx 警告: -x 还将
找到存放项目所在的目录,
Git
Ba
sh
Here ,出现
git
的窗口。
(1) 输入
git
log -g ,
找回
之前
提交
的commit,并记下commit_id。(可以通过键盘上下键翻看所有的记录)
(2)
git
branch newbranch commit_id。
(3) 切换到newbranch分支,检查文件是否存在。
打开注册表,找到配置位置。(win+r,输入regedit回车进入注册表,进入HKEY_CLASSES_ROOT -----> Directory -----> Background ----->
sh
ell)
选中
sh
ell右键 -->新建-->项-->文件名(
Git
Ba
sh
Here)
(1) 选中
Git
Ba
sh
Here-->新建-->字符串值(名称设置...
1、
git
status
2、
git
checkout -- src/views/bobo/abtest/ABTestV2.vue(此处为修改的文件目录)
3.已经恢复了之前的
代码
。
转载于:https://www.cnblogs.com/maldive/p/9265184.html
头脑发热使用了
git
reset命令回退到了之前的一个版本,结果把本地没有
提交
的
代码
给覆盖掉了.....
作为一个bug员自然是想恢复,毕竟重新写还得再测一遍,本着能懒一点是一点的原则,开始了恢复
代码
的过程,保证以后再也不手贱le.....
首先我用的是eclipse的工具,或者别的工具大部分应该都适用,如果你没有使用工具,请忽略我的这篇文章....
右击你修改过的文件,应该还能记得吧。。。...
这里假设你要从名为 "origin" 的远程仓库的 "master" 分支拉取
代码
。如果你要拉取其他分支的
代码
,只需要将 "master" 替换为你要拉取的分支名即可。
3. 如果远程仓库有新的
提交
,你需要将这些
提交
合并到你的本地
代码
库中:
git
merge
这会将远程仓库的最新
提交
合并到你的本地
代码
库中。
4. 最后,你需要将本地
代码
库中的变更推送到远程仓库中:
git
pu
sh
origin master
这里假设你想将本地
代码
库中的变更推送到名为 "origin" 的远程仓库的 "master" 分支。如果你想推送到其他分支,只需要将 "master" 替换为你要推送的分支名即可。