如何恢复已删除的git项目
我想将名为如何恢复已删除的git项目,git,Git,我想将名为gh-pages的git分支与主分支合并,但我输入了ph-并按下了自动完成的选项卡按钮。我试了好几次,当我查看文件夹时,什么都没有,只剩下.git文件夹和Readme.md文件 我已经通过运行git reflog检查了日志,仍然可以看到我所做的所有提交。 请告诉我如何恢复这些文件?我还不知道您是如何恢复的,因为合并一个不存在的分支会导致错误消息。以下是一个典型的场景: $ git init metest Initialized empty Git repository in /tmp/
gh-pages
的git分支与主分支合并,但我输入了ph-
并按下了自动完成的选项卡按钮。我试了好几次,当我查看文件夹时,什么都没有,只剩下.git
文件夹和Readme.md
文件
我已经通过运行git reflog
检查了日志,仍然可以看到我所做的所有提交。
请告诉我如何恢复这些文件?我还不知道您是如何恢复的,因为合并一个不存在的分支会导致错误消息。以下是一个典型的场景:
$ git init metest
Initialized empty Git repository in /tmp/metest/.git/
$ cd metest
$ echo "file1" >> file1
$ git add file1
$ git commit -m "File 1"
[master (root-commit) 5f56a1d] File1
1 file changed, 1 insertion(+)
create mode 100644 file1
$ git checkout -b some
Switched to a new branch 'some'
$ echo "file2" > file2
$ git add file2
$ git commit -m "File2"
[some 47af0d5] File2
1 file changed, 1 insertion(+)
create mode 100644 file2
$ git log # Shows 2 commits
$ git checkout master
Switched to branch 'master'
$ git log # Shows 1 commit
$ git merge foo- # Tab completion should show nothing
merge: foo- - not something we can merge
您正在使用的Git版本或某个附属工具中可能存在错误
无论如何,假设您的遥控器是原始的(您没有推动更改),您可以:
恢复文件。如果git签出。
显示一些本地更改,这将起作用git status
及其风格,具体取决于您的具体情况(请参阅帮助)git reset
- 将遥控器克隆到新目录中,查看文件是否存在
$ git init metest
Initialized empty Git repository in /tmp/metest/.git/
$ cd metest
$ echo "file1" >> file1
$ git add file1
$ git commit -m "File 1"
[master (root-commit) 5f56a1d] File1
1 file changed, 1 insertion(+)
create mode 100644 file1
$ git checkout -b some
Switched to a new branch 'some'
$ echo "file2" > file2
$ git add file2
$ git commit -m "File2"
[some 47af0d5] File2
1 file changed, 1 insertion(+)
create mode 100644 file2
$ git log # Shows 2 commits
$ git checkout master
Switched to branch 'master'
$ git log # Shows 1 commit
$ git merge foo- # Tab completion should show nothing
merge: foo- - not something we can merge
您正在使用的Git版本或某个附属工具中可能存在错误
无论如何,假设您的遥控器是原始的(您没有推动更改),您可以:
恢复文件。如果git签出。
显示一些本地更改,这将起作用git status
及其风格,具体取决于您的具体情况(请参阅帮助)git reset
- 将遥控器克隆到新目录中,查看文件是否存在
Git reset--hard
应该可以解决这个问题。文件夹真的是“由Git管理”的吗?我的意思是,他们中有人在某个时候提交给Git的吗(发布GitCommit
)?只有在它们被提交一次的情况下,您才能恢复它们。如果文件夹未被跟踪,则重置或签出将不会起任何作用。@Cactus我尝试过,但不起作用。上面说**头现在是d1a70fd初始提交**,但我仍然无法获得此时显示git状态的文件夹?如果文件夹由git管理,则可以恢复git知道的最后一个状态。未提交到Git的本地更改丢失。@EricPlaton它说分支与origin/master是最新的,工作目录是干净的Git reset--hard
应该可以解决这个问题。文件夹真的是“由Git管理”的吗?我的意思是,他们中有人在某个时候提交给Git的吗(发布GitCommit
)?只有在它们被提交一次的情况下,您才能恢复它们。如果文件夹未被跟踪,则重置或签出将不会起任何作用。@Cactus我尝试过,但不起作用。上面说**头现在是d1a70fd初始提交**,但我仍然无法获取文件夹