运行
背景:我制作了一个补丁,并将其发送给一个开源项目的开发人员,但是当它被提交到远程后,我想要删除我的本地提交并
无论如何,在我最终“撤销”我的提交并执行
我尝试按照这些说明进行硬重置,但文件仍然没有被跟踪。我可以使用
git pull
命令后,我的本地副本中出现了一些未跟踪的文件。这些文件在远程上被移动了,但是拉取操作没有将这些文件从我的工作目录中删除。我花了很多时间研究这个问题,但是没有找到类似的案例。这是预期行为吗?我有什么遗漏吗?还是两者都有?背景:我制作了一个补丁,并将其发送给一个开源项目的开发人员,但是当它被提交到远程后,我想要删除我的本地提交并
git pull
“官方”补丁。所以我做了一堆“东西”来重置到之前的官方HEAD。 “东西”指的是像git checkout -- <file>
、git reset HEAD^
和其他命令,由于我是新手,正在尝试研究最佳实践,所以我无法记住所有的命令。无论如何,在我最终“撤销”我的提交并执行
git pull
后,我得到了价值66个提交的更改,包括我的补丁,一切看起来都很好。但是,git status
显示有两个文件未被跟踪。我尝试了gitk <untracked_file1>
,发现在大约20个提交之前,该文件被移动到另一个目录。该文件现在存在于新位置,但它没有删除旧文件,而是显示为未被跟踪。我尝试按照这些说明进行硬重置,但文件仍然没有被跟踪。我可以使用
git clean -f
清除它们,但我想知道为什么文件没有自动删除。
git clean
命令。但是很奇怪的是,拉取操作并没有自动删除它们。 - SO_fix_the_vote_sorting_buggit pull
,或者更准确地说,我在Linux上执行了git pull
,在Windows中我在存储库文件夹上右键单击-> Git Sync...-> Pull。在Linux中,我在存储库根文件夹中还剩下3个目录未被跟踪,而在Windows中它们已经消失了。很想知道git行为和/或TortoiseGit的原因。 - zerzevul