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 次 |
| 最近记录: |