dav*_*nal 21 git git-svn rebase
我正在使用git svn
公司强制的svn服务器获得一些git goodness.我刚刚变得非常糟糕,我正试图找出最好的恢复方法.
这是发生的事情:
首先,我有这个
---1 (master)
\--B--C--D--E (feature/fix-widgets)
Run Code Online (Sandbox Code Playgroud)所以然后我做了git checkout master
,然后git svn rebase
在master上下拉这些提交.我没想到我的功能分支和主人之间有任何冲突,因为更改是在一个完全不同的文件夹中.所以在这一点上,我想我有这个:
---1--2--3--4 (master)
\--B--C--D--E (feature/fix-widgets)
Run Code Online (Sandbox Code Playgroud)
1--2--3--4
从svn提交的提交在哪里.
接下来,我做的git checkout feature/fix-widgets
,然后git rebase master
.有一些冲突,有些事情没有加起来,所以我决定撇开并更仔细地看待事情.我这样做git rebase --abort
,希望这能让我恢复到变形前的状态.
我这样做git rebase --abort
并收到以下消息
$ git rebase --abort
error: git checkout-index: unable to create file somedir/somefile.cs (Permission denied)
fatal: Could not reset index file to revision 'be44daa05be39f6dd0d602486a598b63b6bd2af7'.
Run Code Online (Sandbox Code Playgroud)现在我不知道该怎么做.git status
表明我已经开启了feature/fix-widgets
,但是我有一大堆阶段性的更改,以及之前提交的大量未跟踪文件.如果我能回来,我会没事的E
.
Von*_*onC 27
你应该看看 ORIG_HEAD
ORIG_HEAD
是HEAD
由具有可能危险行为的命令设置的先前状态,以便于还原它们.
现在Git有reflog它没那么有用:HEAD@{1}
大致相当于ORIG_HEAD
(HEAD@{1}
总是最后一个值HEAD
,ORIG_HEAD
是HEAD
危险操作之前的最后一个值)
所以尝试这个git reset
在任何rebase之前回到:
git reset --hard ORIG_HEAD
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12986 次 |
最近记录: |