Git 如果我没有';你不想删除文件吗?

Git 如果我没有';你不想删除文件吗?,git,Git,假设,我从有许多新提交(包括删除文件的提交)的原始位置进行拉取。如何轻松找到文件,这样我就可以执行“git rm--cached”并提前将它们添加到.gitignore。我通过这种方式删除了一些特定于IDE的配置文件 除了查看提交之外,还有其他解决方案来处理这种情况吗?如果您避免使用git pull,您可以这样做 记住,git pull意味着运行git fetch,然后运行第二个git命令。git fetch步骤是安全的:只需自己运行即可。第二个命令通常是gitmerge,它可以删除一些工作树文

假设,我从有许多新提交(包括删除文件的提交)的原始位置进行拉取。如何轻松找到文件,这样我就可以执行“git rm--cached”并提前将它们添加到.gitignore。我通过这种方式删除了一些特定于IDE的配置文件

除了查看提交之外,还有其他解决方案来处理这种情况吗?

如果您避免使用git pull,您可以这样做

记住,
git pull
意味着运行
git fetch
,然后运行第二个git命令。git fetch步骤是安全的:只需自己运行即可。第二个命令通常是
gitmerge
,它可以删除一些工作树文件

一旦您完成了提交(这是git fetch的
步骤),您就可以检查提交,看看它们是否会删除任何现有的跟踪文件。为此,只需使用
--name status
选项将当前索引与要合并的目标提交进行比较:

git diff --cached --name-status origin/master
比如说。您可以添加
--diff filter=D
,专门检查通过移动到
源代码/master
将要删除的文件

如果这表示您的文件将被删除,您可以自己执行
git rm--cached
,提交结果,然后重复
git diff
,以验证合并不会再删除这些文件;然后运行:

git merge origin/master

要完成git pull的后半部分

不完全确定您在这里询问的是什么,为什么将这些文件添加到
.gitignore
会改变任何事情?如果文件已经被跟踪,并且传入的提交将删除它们,那么它们仍将被删除。这是您期望的反复出现的情况,还是仅仅是一次尝试?在后一种情况下,只需克隆本地文件作为备份,然后恢复它们。在前一种情况下,整体回购设置有一些问题,因为我想这些文件应该已经被忽略了。