|      1LYEHIZRF      2018-01-09 10:19:47 +08:00  1 本地 fork 一个新的分支 然后原分支 git reset --hard 到远程提交文件的版本 即可恢复 https://github.com/geeeeeeeeek/git-recipes/wiki | 
|  |      2wwjvtwoex OP 谢谢,我先试试 | 
|  |      3wwjvtwoex OP 可以通过 回滚 恢复远程文件吗 ? | 
|  |      4wwjvtwoex OP 不创建新分支 | 
|  |      5barryhappy      2018-01-09 10:28:51 +08:00 @wwjvtwoex reset 就是回滚 | 
|  |      6exch4nge      2018-01-09 11:16:05 +08:00 没有 commit 的文件不能用 reset 回滚获得吧? 话说我没理解你所说的在远程 add 一个文件 X,是指你直接在远程 repo 所在的计算机上进行操作,还是你在本机操作只不过在远程分支上?一般来说第一种可能性比较小,远程 repo 不是 bare 的话,push 操作会出现警告。 假设是第二种含义的话,可以看看 git fsck --lost-found 这个命令能不能解决你的问题。但是你如果执行过 git gc 的话,就没有救了 | 
|  |      7xiubin      2018-01-09 11:19:24 +08:00 “在远程 add 一个文件 X 后,没有 commit,没有和本地同步 ”,想问的是你是怎么在远程 add 一个文件的。。。 如果你没有 commit 的话你应该是找不回来了,“ git reset --hard ” 也只是回滚到某一版本(某次 commit ) 不确定是你没有表达清楚还是一楼没看清楚或者是我理解错了 | 
|  |      8tailf      2018-01-09 11:27:17 +08:00 你这里的“远程”指的是什么?据我所知 Git server 是只有 .git 文件夹的。 | 
|      10LYEHIZRF      2018-01-09 13:07:17 +08:00 不过楼主是怎么做到远程只 add 不 commit 的 | 
|  |      11lonenol      2018-01-09 13:14:45 +08:00 远程 add 是个什么操作.. | 
|  |      12jason19659      2018-01-09 13:32:13 +08:00 虽然每台机器都可以是 git 服务器。。但是。。你是怎么在服务器上 add 文件然后本地提交还没有冲突的 | 
|  |      13wwjvtwoex OP @LYEHIZRF #10 ssh 登入远程仓库所在的服务器(在另一个楼层),然后 git add some_file | 
|  |      14wwjvtwoex OP 然后一忙,忘了 commit 然后 本地改了一些其它文件, push 远程的 some_file 就消失了 | 
|  |      15Rheinmetal      2018-01-09 13:46:25 +08:00 .git\objects 里面  看看修改时间  不知道有没有 没 commit 就麻烦了 | 
|  |      16exch4nge      2018-01-09 13:52:51 +08:00 @wwjvtwoex #13 这操作好强大... 好像也可以在远程仓库上 git fsck --lost-found 然后找 | 
|  |      17likuku      2018-01-09 14:20:58 +08:00 @wwjvtwoex [ssh 登入远程仓库所在的服务器(在另一个楼层),然后 git add some_file] 那其实还是个 git client 呗,只是和你自己电脑不同的是,直接在 git 库所在电脑执行 | 
|  |      18pagxir      2018-01-09 16:01:02 +08:00 via Android 明显是楼主没理解什么是 | 
|  |      19pagxir      2018-01-09 16:01:33 +08:00 via Android 什么是分布式 | 
|  |      21holy_sin      2018-01-09 18:36:24 +08:00 本地能恢复,远端就能恢复 | 
|  |      22tinybaby365      2018-01-09 19:27:23 +08:00 git reflog | 
|      23fan123199      2018-01-09 20:02:13 +08:00 直接在远程操作就是个危险操作。 | 
|  |      24flniu      2018-01-09 22:32:12 +08:00 @wwjvtwoex #17 说的没错,听起来只是另一个服务器上的 git client。你再 ssh 上去,git status 一下看看。 | 
|      25yacolinqi      2018-01-10 09:23:22 +08:00 还有你的远程添加是?  类似于直接在线上 GitHub 添加一个 readme 之类的吗?  那你这个仓库提交的时候没提示你版本问题吗?  还是你提交的时候强制提交了? |