你好我真的很奇怪。
我对所有这些GitHub的东西都很陌生,所以我尝试了一些东西。 基本上发生了什么,我在Netbeams有一个项目,想在我的GitHub上发布它。所以我在Github上创建了存储库,并希望向其添加文件。
所以我进入了Netbeams和Initialized Git Repository。 之后我进入了Git-> Commit 然后我尝试推送所有东西,所以Remote-> Push 不知道会出现什么问题,我无意中点击了所有分支的东西,比如有一些主人 - >主人或像这样的人,我现在真的不知道。
但问题是,它失败了。所以我以某种方式认为做一个Pull是个好主意,不知道为什么。这也是它出错的地方。点击了所有的东西,最后,有一个窗口询问我是否要Rebase / Merge。我点击了Rebase。然后弹出另一个窗口告诉我关于结帐冲突的事情,所以我点击了Revert,突然间我的文件消失了。
我设法重新创建了这个。基本上它发生在我有一个项目时,我从GitHub的空项目中拉出来。有没有办法让我的文件恢复?
编辑:从控制台输出
4b83b06 (HEAD -> master, origin/master) HEAD@{0}: pull --no-rebase --progress origin: Fast-forward
d47acf2 HEAD@{1}:
4b83b06 (HEAD -> master, origin/master) HEAD@{2}: commit: Wa
d47acf2 HEAD@{3}: checkout: moving from HEAD to master
d47acf2 HEAD@{4}: checkout: moving from master to origin/master
d47acf2 HEAD@{5}: rebase finished: returning to refs/heads/master
d47acf2 HEAD@{6}: checkout: moving from master to d47acf26594fc3d07b7709ff38a56284267ab993
330a8a3 HEAD@{7}: commit (initial):
Git staus:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: nbproject/private/private.xml
Untracked files:
(use "git add <file>..." to include in what will be committed)
nbproject/project.properties
no changes added to commit (use "git add" and/or "git commit -a")
chceckout消息:
$ git checkout 330a8a3
error: Your local changes to the following files would be overwritten by checkout:
nbproject/private/private.xml
Please commit your changes or stash them before you switch branches.
error: The following untracked working tree files would be overwritten by checkout:
nbproject/project.properties
Please move or remove them before you switch branches.
Aborting
答案 0 :(得分:0)
要恢复您的文件,他们必须参与&#34;提交&#34;在你执行rebase之前。 修复您在尝试签出首次提交时收到的消息:
$ git checkout 330a8a3
error: Your local changes to the following files would be overwritten by checkout:
nbproject/private/private.xml
Please commit your changes or stash them before you switch branches.
error: The following untracked working tree files would be overwritten by checkout:
nbproject/project.properties
Please move or remove them before you switch branches.
Aborting
您需要隐藏工作树的更改。 git阻止你检查以前的提交,因为你的工作树中的文件nbproject/private/private.xml
已被更改,并且检查该提交会丢失最近的更改。您应该运行git stash
,这将保存您当前的工作树文件。然后,您可以再次运行该checkout命令git checkout 330a8a3
,该命令应该没有错误地完成。现在您应该能够看到原始文件(至少是您提交给存储库的所有文件。
此时,我会将所需文件复制到其他地方以便妥善保管。如果要保留在private.xml
文件中所做的更改,请运行以下命令:
git checkout master
git stash apply
这样您就可以在master
上查看最新的提交,然后在#34; loading&#34;您之前使用git stash
保存的更改。