Git拉取而不覆盖文件
我有一个项目,但有些文件很大,在Git拉取而不覆盖文件,git,overwrite,git-pull,Git,Overwrite,Git Pull,我有一个项目,但有些文件很大,在/data/guilds/*中,我没有提交 我怎样才能用git拉取的方式获取所有最近的代码,而不删除不存在的文件/data/guilds在实际源代码中不存在,因此在提取时不应受到影响 当我尝试git pull时,我发现: error: Your local changes to the following files would be overwritten by merge: data/guilds/500785463624335390.json
/data/guilds/*
中,我没有提交
我怎样才能用git拉取的方式获取所有最近的代码,而不删除不存在的文件<代码>/data/guilds在实际源代码中不存在,因此在提取时不应受到影响
当我尝试git pull时,我发现:
error: Your local changes to the following files would be overwritten by merge:
data/guilds/500785463624335390.json
data/guilds/611278159555461180.json
data/guilds/684492926528651336.json
data/guilds/753312192165838938.json
data/stats.json
您可能不会提交这些文件,但有人提交了。他们在一些地方。特别是,它们存在于您要求Git合并的提交中
如果要避免使用它们,请从避免使用git pull开始,因为这意味着运行git fetch,然后运行第二个git命令。第二个命令由您决定,但通常必须是git merge
或git rebase
中的一个。如果您没有自己明确地或通过设置自己的默认值来做出选择,Git将使用的默认值是运行Git merge
git merge
命令使用三个提交:
- 合并基提交,包含您和他们(无论“他们”是谁)所拥有的所有文件,提供您开始时拥有的新提交李>
- 当前提交,从当前分支的顶端开始李>
- 他们最近的一次提交,就是你告诉你自己的Git合并
您可以按照Git的建议(您在这里截取了它)提交这些文件或将它们移开,但这可能不是正确的做法。对你来说不幸的是,没有一件正确的事情可以做。事实上,你可能不得不做一些错误的事情。在projects.gitignore文件中添加/data/guilds文件夹。Git将忽略itI中的所有内容,并将/data/guilds/*和/data/stats.json添加到.gitignore中,但它仍然表示它们将被忽略overwritten@mosharaf:太晚了:那些文件正在提交中。不能更改任何现有提交;这些文件始终处于这些提交中。“您对以下文件的本地更改将被合并覆盖”表示远程中也存在相同的文件。您不是在本地跟踪文件,而是在远程跟踪相同的文件