通过GitHub在NetBeams中合并删除的源文件

时间:2017-07-28 22:59:32

标签: git github

你好我真的很奇怪。

我对所有这些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

1 个答案:

答案 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保存的更改。