远程Git回购与本地回购不同步

远程Git回购与本地回购不同步,git,github,Git,Github,我注意到我的远程repo包含许多文件,这些文件早就从我的本地repo中删除了。如何更正此同步问题 我已尝试更正以下内容: git add--all,然后按下。它不起作用。旧文件仍保留在远程repo上 使用git branch my new branch创建了一个新分支,然后按下。它不起作用。本地不可用的旧文件仍被推送到新分支 更新了.gitignore以包含.env文件,然后按下。它不起作用。.gitignore文件将更新,尽管远程repo上仍然存在.env文件 如果我创建了一个新文件,推到远程

我注意到我的远程repo包含许多文件,这些文件早就从我的本地repo中删除了。如何更正此同步问题

我已尝试更正以下内容:

  • git add--all
    ,然后按下。它不起作用。旧文件仍保留在远程repo上
  • 使用git branch my new branch创建了一个新分支,然后按下。它不起作用。本地不可用的旧文件仍被推送到新分支
  • 更新了
    .gitignore
    以包含
    .env
    文件,然后按下。它不起作用。
    .gitignore
    文件将更新,尽管远程repo上仍然存在
    .env
    文件

  • 如果我创建了一个新文件,推到远程,本地删除,然后再次推,该文件将被远程删除。出于某种原因,这似乎只发生在较旧的文件中。

    您应该删除git缓存

    git rm -r --cached .
    
    然后推回遥控器

    $ git add .
    $ git commit -am 'Removed files from the index (now ignored)'
    $ git push
    

    编辑:要删除远程文件,请从服务器拉取更改,在本地repo上执行git-rm,提交更改,然后推送到服务器。这些文件将被删除。不要忘记检查您是否有重复文件夹。

    谢谢您的帮助。这适用于.gitignore中的
    .env
    文件,但不适用于本地系统中不再存在的较旧的已删除文件。忽略后一个问题。我跟踪了这个问题。我有一个重复的文件夹名,旧文件位于文件夹结构中的其他地方。再次感谢你的帮助。