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

5

我使用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再push,但在我的情况下,由于我已经删除了文件,所以应该添加什么呢?
另外,如果我执行git commit -m "commit message",是否会覆盖我所有的提交记录,因为目前我没有文件与该提交关联。
2个回答

12
在执行git rm之后,您需要执行git commit。Git说Everything up-to-date是因为您尚未创建一个已删除此文件的提交。
例如,如果您执行git reset --hard,则会发现您的文件已经恢复了。
总的来说,git rmgit add没有任何区别。

这样做是否会覆盖我的所有提交

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

3
有三个步骤来回答你的问题。
1. git rm #your_files

2. git commit -m "#your_comments"

3. git push origin #your_local_branch:#your_remote_branch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接