Git:在“git rm”之后推送更改

时间:2012-10-16 08:37:53

标签: git github bitbucket

我使用git rm test删除了一个文件,目前这是git status .

的输出
Noob@Noob:/media/data/bitbucket/pythonscripts$ git status .
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    test
#

现在,当我尝试使用git push推送我的仓库中的更改时,它会显示Everything up-to-date。我理解通常在推送之前需要先add而不是commit,但在我的情况下我会添加什么,因为我已经删除了该文件。

此外,如果我git commit -m "commit message"这将覆盖我的所有提交,因为目前我没有文件可以附加此提交。

2 个答案:

答案 0 :(得分:5)

完成git rm后,您需要执行git commit。 Git说Everything up-to-date是因为你没有创建一个删除了这个文件的提交。

例如,如果您执行git reset --hard,则会看到您的文件已恢复。

一般来说,git rmgit add没有区别。


  

这将覆盖我的所有提交

不,它不会,它将删除此文件创建一个新提交。

答案 1 :(得分:2)

有三个步骤可以回答您的问题。

1. git rm #your_files

2. git commit -m "#your_comments"

3. git push origin #your_local_branch:#your_remote_branch