在git命令上未经跟踪的工作树文件

时间:2014-01-26 09:55:31

标签: git

我在git和Linux上完全是新手,但我必须做点什么。我们有一步一步的程序,没有任何问题。今天我必须从头开始,但这次我正在使用这个命令

 git fetch --tags  path/afiletofetch.bu
 git merge FETCH_HEAD

我将收到此错误消息

Untracked Working tree file /BEE/V/adm/Start/scripte/tis_end would be overwritten by merge

我该怎么办?我应该检查什么来解决错误?

1 个答案:

答案 0 :(得分:0)

这意味着你有类似的东西

A --- B
 \    L HEAD
  \
   \- C
      L FETCH_HEAD  

以便您当前处于提交B,您当前在文件系统上有文件tis_end,并且Git不会在此提交中跟踪此文件。

但是,提交C上的git会跟踪此文件 - 它可能与您当前拥有的版本不同。

为安全起见,git拒绝合并,因为它会覆盖您tis_end的本地版本。

解决方案取决于您要对此文件执行的操作。特别是你可以:

  • 如果您不关心本地修改,请删除此文件

  • 在合并之前提交此文件(在合并期间可能会导致此文件发生冲突,但至少您不会失去工作)

要提交它,你应该做类似的事情:

git add BEE/V/adm/Start/scripte/tis_end
git status #To make sure you're going to commit what you're expecting
git commit -m "Adding tis_end"

会导致类似

的内容
A --- B -- D
 \         L HEAD
  \
   \- C
      L FETCH_HEAD  

其中D是新提交,跟踪此文件。

(无论哪种方式,你都可以先备份这个文件:比抱歉更安全)