我正在做的一个项目有大约200个子模块。我在本地仓库中做了一些修改,围绕着150个子模块的修改,而没有提交和推送。
但事实证明,就在我准备提交和推送时,我注意到另一个队友最近在远程仓库中进行了推送。儿子,远程仓库比我的本地仓库提前一次提交。
我尝试的解决方案:
1.每当我尝试推送我的更改时,它都会说这是不可能的,因为远程存储库在前面。所以我尝试强制推送我的更改(我的队友和我同意我可以这样做),但是分支是由管理员保护的。我做不到。
1.由于这不起作用,我尝试简单地拉取最新的更改并递归地更新子模块(子模块更新--init -recursive)。我得到以下错误:error: Your local changes to the following files would be overwritten by checkout
在Git Extensions输出错误窗口中:
你会怎么做来解决这个问题?
1条答案
按热度按时间azpvetkf1#
git stash
是这样做的:它会将未提交的更改放在一边,直到您准备好使用它们。在解决冲突后,可以使用git stash pop
或git stash apply
将这些更改放回工作目录。(pop
从列表中删除隐藏;apply
没有。)在https://git-scm.com/docs/git-stash上有更多的文档。