Git克隆因未跟踪文件而失败,但所有分支都已清除

Git克隆因未跟踪文件而失败,但所有分支都已清除,git,Git,我正在尝试克隆git存储库。克隆失败,并显示以下消息: Untracked working tree file ... would be overwritten by merge. 我已经在所有分支上运行了gitclean;没有未跟踪的文件。 标记为未跟踪的文件仅在我当前工作的分支中使用,并对其进行跟踪 另外,当我签出主分支,然后签出我最初处理的分支时,我发现签出成功,但打印了假定未跟踪文件的名称。你知道这意味着什么吗 Checking out files: 100% (477/477), d

我正在尝试克隆git存储库。克隆失败,并显示以下消息:

Untracked working tree file ... would be overwritten by merge.
我已经在所有分支上运行了
gitclean
;没有未跟踪的文件。
标记为未跟踪的文件仅在我当前工作的分支中使用,并对其进行跟踪

另外,当我签出主分支,然后签出我最初处理的分支时,我发现签出成功,但打印了假定未跟踪文件的名称。你知道这意味着什么吗

Checking out files: 100% (477/477), done.

M       path-to-file-idenetified-as-untracked    
Switched to branch "Original_branch_name"
我怎样才能让克隆人工作

我读过有关克隆的书。我正在制作一个克隆,因为我想与目前没有复本的其他人共享

这是我输入的内容,稍加编辑。例如,我对cd执行了几个命令,但没有显示这些命令

$ git clone app.git clone/app.git
Initialized empty Git repository in /cygdrive/c/clone/app.git/.git/
error: Untracked working tree file 'C:/app.git/include/template/foo.xml' would be overwritten by merge.

$ git status
# On branch GT
nothing to commit (working directory clean)

$ git rm include/template/foo.xml
rm 'include/template/foo.xml'

$ git commit -m "Removed include/template/foo.xml because clone was failing with the message untracked working tree file would be overwritten by merge "
[GT]: created 77ca4ec: "Removed include/template/foo.xml because clone was failing with the message untracked working tree file would be overwritten by merge "
 1 files changed, 0 insertions(+), 89 deletions(-)
 delete mode 100755 include/template/foo.xml

$ git clone app.git clone/app.git
Initialized empty Git repository in /cygdrive/c/clone/app.git/.git/
Checking out files: 100% (522/522), done.

$ git commit -m "Added file deleted in previous commit after successfully cloning repository with file deleted"
[GT]: created f3eb7e8: "Added file deleted in previous commit after successfully cloning repository with
 file deleted"
 1 files changed, 89 insertions(+), 0 deletions(-)
 create mode 100755 include/template/foo.xml

$ git clone app.git clone2/app.git
Initialized empty Git repository in /cygdrive/c/clone2/app.git/.git/
error: Untracked working tree file 'C://app.git/include/template/foo.xml' would be overwritten by merge.

您使用的是什么版本的Git?在哪个站台

根据操作系统的不同,您可能会遇到一些区分大小写的文件名问题,这可能会导致此错误消息,如中所示

我将
CONTRIB/ChangeLog
重命名为
CONTRIB/ChangeLog.old
并重试,这次它抱怨
CONTRIB/README

这些错误是因为我做了什么吗?我

我相信这可能是因为我将
CONTRIB
重命名为
CONTRIB

在一个不区分大小写名称的系统上,这可能会导致冲突

尝试删除整个
CONTRIB
目录。如果失败,尝试获取回购协议的新克隆

这把它修好了。谢谢


但是,一旦我添加了文件的副本(我需要)并提交了它,我就尝试再次克隆,并返回到原始失败消息

这对我来说是尖叫
core.ignorecase
设置为true

core.ignorecase

如果为true,此选项将启用各种变通方法,使git能够更好地在不区分大小写的文件系统(如FAT)上工作。
例如,如果一个目录列表在git需要“
makefile
”时找到“
makefile
”,git将假定它实际上是同一个文件,并继续将其作为“
makefile
”来记住

默认值为false,但创建存储库时,
git clone(1)
git init(1)
将探测并设置
core.ignorecase
true(如果合适)


能否检查
git config-l
是否包含
core.ignorecase
设置?

文件被修改的通知:

M       path-to-file-idenetified-as-untracked
意味着您对相关文件(仅在分支中跟踪)进行了本地的、未提交的更改

当您尝试将分支合并到主git中时,git拒绝使用分支中的已提交版本覆盖未提交的更改

尝试合并之前,请尝试将更改提交到分支上的文件

顺便说一句,我想你的问题是指“合并”而不是“克隆”。您不应该在现有git存储库上运行“git clone”。

用于创建一个新存储库,该存储库是现有存储库的克隆;也就是说,它具有所有相同的文件、分支和标记

拥有存储库后,您通常希望使用将新更改向下拉,并将其与活动分支合并,或者将更改提取到远程跟踪分支中,而不将其合并到当前活动分支中(如果您确定要将其合并到中,则随后可能会出现错误)


有关如何克隆回购并使用克隆的示例,请参见。

您确定是指“git clone”吗?当您遇到这些错误时,您可以发布您试图运行的命令吗?只需使用一个要检查的设置更新我的答案。您不需要再进行两次
克隆
<代码>克隆基于远程存储库创建新的本地存储库。一旦您有了回购,您就可以使用
git pull
,或者
git fetch
然后使用
git merge
来提取更改。因此,我们可以了解您遇到的问题,您可以编辑您的问题并发布您正在运行的确切命令吗?@Jennette
cd
命令很重要,因为否则很难判断您在哪个目录中执行这些命令。执行这些
git clone
命令时,目标目录(如
clone/app.git
clone2/app.git
)是否已经存在?如果您描述您开始使用的git存储库,以及您正试图执行的操作(例如,“我有一个git存储库app.git,我想克隆它,在克隆中添加一个文件,然后将更改推回到原始存储库”),可能会有所帮助。Git版本是1.6.1.2。我做了rm文件,然后提交了。然后我尝试克隆,结果成功了。但是,一旦我添加了文件的副本(我需要)并提交了它,我尝试再次克隆,并返回到原始失败消息。因此。。。解决办法是什么?谢谢你的建议。我无法提交更改,因为我的分支都没有显示未提交的更改。我是说克隆,不是合并。我正在向某人发送整个存储库的克隆。当我运行克隆时,它显然进行了合并。为什么我不应该在git存储库上运行“git clone”?何时使用“git clone”?“git clone”用于在新位置创建存储库的副本。在运行clone命令之前,clone/app.git和clone2/app.git中是否有文件?