如何从GitHub中删除文件?

时间:2016-09-06 06:53:14

标签: git github

我正在学习如何使用Git的教程。我正在努力将文件推送到新创建的GitHub仓库。但是我收到了错误:

Updates were rejected because the remote contains work that you do not have locally.

我猜这是因为GitHub回购文件中有一个readme.md文件,由GitHub提供,我当地没有。所以我删除了那个文件。但是我仍然无法推动。我仍然得到同样的信息。

我猜这是因为我必须以某种方式'推送'远程回购中的更改(删除阅读我)?

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

  

所以我删除了那个文件。但是我仍然无法推动。我仍然得到同样的信息。

该删除创建了一个您在本地没有的新提交 问题不在于文件的存在与否,而是在本地存储库和远程存储库之间存在不同的历史记录(提交集)。

使用以下命令设置本地配置:

git config --global pull.rebase true
git config --global rebase.autoStash true

然后只需git pull

任何本地work in progress will be stashed,您自己的提交都已重新定位,您的工作已重新应用。然后,您可以查看,添加,提交和推送。

自Git 2。6(2015年9月)以来,该组合(pull.rebase + rebase.autostash)可用:请参阅“Can “git pull” automatically stash and pop pending changes?

答案 1 :(得分:0)

使用git rm:

git rm file1.txt
git commit -m "remove file1.txt"

但是如果你只想从Git存储库中删除文件而不是从文件系统中删除它,请使用:

git rm --cached file1.txt

如果你想将更改推送到远程仓库

git push origin branch_name