Git 签出错误

bla*_*hli 3 git cygwin commit github git-checkout

我正在使用一个脚本来自动检查过去 12 个月每个月的第一次提交。偶尔会发生一些奇怪的事情,我不再被允许检查过去的提交。错误是这样的:

error: Your local changes to the following files wold be overwritten by checkout:

db tests/framework.cpp

Please, commit your changes or stash them before you can switch branches. Aborting

这种情况已经发生过很多次(我没有编辑任何文件,只是检查它们)。我通常只是从 Github 下载一个新的存储库副本,然后再次启动该过程,它就可以工作了。但一旦坏了,我不知道如何修复,而且这种情况不断发生。有什么想法吗?

这是我的脚本中进行的迭代,然后是输出git status

for i in {12..1}

do

cd
cd git/mongodb/mongo

git checkout master                   
git checkout $(git rev-list --before "$(date -d "$(date +%Y-%m-01) -$i months 00:01" +%Y-%m)-01" -n 1 HEAD)
git checkout master
Run Code Online (Sandbox Code Playgroud)

git 状态:

在分支主控上

未暂存提交的更改:

        modified:    dbtests/framework.cpp
Run Code Online (Sandbox Code Playgroud)

未跟踪的文件:

       SHA1.txt
       SHA1.txt.
       file
       file.
Run Code Online (Sandbox Code Playgroud)

没有添加任何更改来提交

Amb*_*ber 5

无论如何,您都可以使用该--force标志让 Git 进行签出。

或者,您可以使用git reset --hard重置来重置提交,而不是使用签出。