我有一个git,包含文件夹A。在本地,我克隆这个回购文件,但随后决定重命名该文件夹:
git mv A newfolder
git add -u newfolder
git commit -m "Folder rename"现在,如果我在回购中修改A/stable,那么可以在本地执行git pull,当然,我得到:
newfolder/stable但是,如果我在repo、A/fresh中创建了一个新文件,并且在本地执行git pull,我最终使用A/fresh而不是newfolder/fresh (也就是说,git创建一个名为A的新文件夹,并将fresh文件放在那里)。为什么这个重命名不能处理新文件?
发布于 2015-09-01 18:44:29
Git将不知道A被newfolder所取代。如果您在远程回购中创建了A/fresh文件,然后将其获取/合并到本地回购中,那么它将别无选择,只能模仿远程结构并创建文件夹A。
这里的解决方案是在创建A文件之前将您的更改(newfolder变为newfolder)推送到远程回购。因此,您将创建newfolder/fresh而不是A/fresh。
https://stackoverflow.com/questions/32338617
复制相似问题