如何从github上的Git分支中删除不需要的文件(如元数据)

时间:2016-05-27 03:46:37

标签: git github git-branch

我在本地存储库上创建了一个分支,并添加了一些新的java文件。 我使用以下命令将我的源代码添加到本地分支。

git add --all

这实际上从Eclipse添加了一些不需要的元数据文件,比如 .metadata / .plugins / org.eclipse.resources / .history中/ 7E

我使用以下命令将更改提交到头部:

 git commit -m "Commit message"

使用 -

将分支推送到我的远程存储库
 git push origin <branchname>

我意识到,我将不需要的文件添加到我的远程分支,并希望删除其中一些非实际源文件。

如何在不弄乱我的java文件的情况下将它们从git分支中删除。

screenshot of unwantedfiles

非常感谢 感谢您的回复

2 个答案:

答案 0 :(得分:7)

git rm从git索引中删除文件,然后您可以使用它来提交git。在您的情况下,您需要--cached选项,该文件将文件保留在工作目录中。

git rm --cached -r .metadata
git commit -am "Removing metadata"

您还应该创建或更新.gitignore文件,以便在从git中删除文件后,不会意外地重新添加这些文件。

答案 1 :(得分:1)

注意:这将忽略未来提交的不需要的文件,但它们仍将存在于您之前的提交历史记录中。

您想要添加.gitignore文件。

您可以阅读更多here。如果需要,进一步阅读部分提供更多细节和示例。

可以找到eclipse的示例.gitignore here

如果您选择使用示例gitignore,只需将其重命名为.gitignore(取出Eclipse前缀)并将其放入主存储库文件夹中。然后,将文件添加到本地分支并提交。

更新: 要删除已经提交的文件,您可以按照Paul Hicks的回答here进行操作。