文件在git中删除

时间:2016-02-11 12:59:17

标签: git

情景 主回购让我们说它为X |上游; 以上回购X的叉子原点

分支Y在上游和原点都有。 问题:

  1. 当我从分支Y转到Z并在我的本地回到Y时,特定文件被删除(所有时间分支始终存在于上游Y分支中,我正在提交并推送代码分支包括在分支Y)

  2. 然后我从上游获取文件(复制它)并再次提交并开始切换分支,问题再次开始发生。

  3. 知道为什么会这样吗?它是一致的,即使其他人这样做文件丢失。它只发生在一个文件中。

    修改: 上游Y做了一个git pull。它说已经是最新的,令人惊讶的是文件又回来了。我很确定它以前不存在。当我让他们尝试这个场景时,同样的事情发生在别人身上。当我们第一次执行git checkout upstream / Y -b Y时,文件不存在,当我们执行上游Y上拉时,文件又回来了。这是git中的错误吗?

1 个答案:

答案 0 :(得分:0)

您的本地分支Y可能与您的origin/Y分支不同步。

如果其他以下是git status的结果:

$ git status

On branch Y
Your branch is up-to-date with 'origin/Y'.
nothing to commit, working directory clean

然后,您可以将Y重置为origin/Y的状态:

git checkout Y; git reset --hard origin/Y

注意:这将删除您所做的任何本地更改。

如果您不小心删除了本地分支Y中的文件,并且只想恢复该文件,则可以使用以下命令执行此操作:

git checkout origin/Y /path/to/file

之后您可以提交更改

git commit -m "Add back accidentally removed file" /path/to/file

然后您可能想要重写本地历史记录(请参阅git rebase -igit commit --amend