Git:推送了一个不应该被跟踪的文件

时间:2016-11-23 14:30:32

标签: git

如果我将文件推送到不应跟踪的远程存储库,我该怎么办?例如,Intellij IDEA has a file name workspace.xml in .idea folder which should not be tracked by git.

情况

  1. 我已添加workspace.xml,已提交并已推送。

  2. 我的团队可能已经或可能没有撤销该提交。

  3. 错误的提交现在不是远程存储库中的最新提交。

  4. 以最少的损失来追踪workspace.xml的最佳方式是什么?

    我可以找出一些方法,但它们都有一些缺点:

    1. 请团队成员使用git update-index --skip-worktree workspace.xml。这种方式让每个人都做了一件我认为不好的事情。

    2. 提交一个新提交,其中使用git rm --cached删除索引中的workspace.xml但不删除我的本地存储库。这种方式使得团队中的每个人在合并我的新提交后都会丢失他们自己的本地文件workspace.xml

    3. 有什么好方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

git还原您的提交

你需要让已经在你提交上游的队友做一个git pull --rebase

这将拉出您的提交而不是压缩其他人的workspace.xml

然后听sajib并将.idea添加到你的.gitignore