Git 新手求助,恢复远程文件

2018-01-09 10:08:52 +08:00
 wwjvtwoex
在远程 add 一个文件 X 后,没有 commit,没有和本地同步

在本地修改了其他文件后,push 到远程
远程文件 X 消失

怎样能恢复远程文件 X
3839 次点击
所在节点    git
25 条回复
LYEHIZRF
2018-01-09 10:19:47 +08:00
本地 fork 一个新的分支 然后原分支 git reset --hard 到远程提交文件的版本 即可恢复
https://github.com/geeeeeeeeek/git-recipes/wiki
wwjvtwoex
2018-01-09 10:24:08 +08:00
谢谢,我先试试
wwjvtwoex
2018-01-09 10:25:39 +08:00
可以通过 回滚 恢复远程文件吗 ?
wwjvtwoex
2018-01-09 10:28:39 +08:00
不创建新分支
barryhappy
2018-01-09 10:28:51 +08:00
@wwjvtwoex reset 就是回滚
exch4nge
2018-01-09 11:16:05 +08:00
没有 commit 的文件不能用 reset 回滚获得吧?
话说我没理解你所说的在远程 add 一个文件 X,是指你直接在远程 repo 所在的计算机上进行操作,还是你在本机操作只不过在远程分支上?一般来说第一种可能性比较小,远程 repo 不是 bare 的话,push 操作会出现警告。

假设是第二种含义的话,可以看看 git fsck --lost-found 这个命令能不能解决你的问题。但是你如果执行过 git gc 的话,就没有救了
xiubin
2018-01-09 11:19:24 +08:00
“在远程 add 一个文件 X 后,没有 commit,没有和本地同步 ”,想问的是你是怎么在远程 add 一个文件的。。。
如果你没有 commit 的话你应该是找不回来了,“ git reset --hard ” 也只是回滚到某一版本(某次 commit )
不确定是你没有表达清楚还是一楼没看清楚或者是我理解错了
tailf
2018-01-09 11:27:17 +08:00
你这里的“远程”指的是什么?据我所知 Git server 是只有 .git 文件夹的。
LYEHIZRF
2018-01-09 13:06:20 +08:00
没 commit 确实没办法了 没看清楚 @xiubin
LYEHIZRF
2018-01-09 13:07:17 +08:00
不过楼主是怎么做到远程只 add 不 commit 的
lonenol
2018-01-09 13:14:45 +08:00
远程 add 是个什么操作..
jason19659
2018-01-09 13:32:13 +08:00
虽然每台机器都可以是 git 服务器。。但是。。你是怎么在服务器上 add 文件然后本地提交还没有冲突的
wwjvtwoex
2018-01-09 13:36:02 +08:00
@LYEHIZRF #10 ssh 登入远程仓库所在的服务器(在另一个楼层),然后 git add some_file
wwjvtwoex
2018-01-09 13:39:24 +08:00
然后一忙,忘了 commit
然后 本地改了一些其它文件, push
远程的 some_file 就消失了
Rheinmetal
2018-01-09 13:46:25 +08:00
.git\objects 里面 看看修改时间 不知道有没有
没 commit 就麻烦了
exch4nge
2018-01-09 13:52:51 +08:00
@wwjvtwoex #13 这操作好强大... 好像也可以在远程仓库上 git fsck --lost-found 然后找
likuku
2018-01-09 14:20:58 +08:00
@wwjvtwoex [ssh 登入远程仓库所在的服务器(在另一个楼层),然后 git add some_file]

那其实还是个 git client 呗,只是和你自己电脑不同的是,直接在 git 库所在电脑执行
pagxir
2018-01-09 16:01:02 +08:00
明显是楼主没理解什么是
pagxir
2018-01-09 16:01:33 +08:00
什么是分布式
LYEHIZRF
2018-01-09 17:15:06 +08:00
@wwjvtwoex 学习了。。还有这种操作。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/421268

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX