在cygwin终端上使用git时,我遇到了一个非常奇怪的错误。
我有一个git储存库,它引用其他git储存库作为尝试运行此库的库:
1: $(libraRIES):
2: @echo "GaranteeStash" > $(path_to_library_logic)/tmp.fake
3: @git -C $(path_to_library_logic) stash push -u --quiet
4: @git -C $(path_to_library_logic) checkout $(library_version_logic)
5: @$(MAKE) $(MAKECMDgoaLS) -C $(path_to_library_logic)
6: @git -C $(path_to_library_logic) checkout @{-1}
7: @git -C $(path_to_library_logic) stash pop --quiet
8: @rm $(path_to_library_logic)/tmp.fake
这个想法是在不同的git仓库中创建特定版本的自定义先决条件库,而不会中断正在进行的任何工作。
它可以在我的Linux测试机上使用。如果我从目标存储库中逐步执行命令序列,它也将起作用。但是,在cygwin上,第7行第2次失败,并且随后的多次在上面使用从另一个存储库的-C path / to / library在库上运行以上操作。
...
Your branch is up to date with 'version'
fileA already exists,no checkout
fileB already exists,no checkout
...
fileZ already exists,no checkout
error: could not restore untracked files from stash
The stash entry is kept in case you need it again
在上述情况发生的一半时间,“ git status”显示出一团糟,列出了要提交的更改中已删除的每个文件,以及未跟踪的仍存在的文件。
以前有没有人看过这个并且记得解决方案?