首先,我知道here之前已经问过这个问题。 问题是我喜欢保留历史。
所以我尝试了所有其他可以找到的步骤,包括将.git目录向上移动一级或创建一个子目录,并将当前根目录中的所有文件移动到该目录中。但我一直在丢失文件的历史记录。
有趣的是,Git Bash(在我的本地命令行上)告诉我它检测到文件被重命名,当我运行git log
时,我也得到了文件的历史记录,因为我' d期待它。但是当我查看github时,历史记录已经消失,并且提交仅包含要删除和添加的文件列表(而不是我期望的重命名列表)。
我所说的存储库是this one。那里有一个名为" Moving"其中我试图移动文件。
如果有帮助,我采取的确切步骤是:
git add src
和git add nbproject
,其中src是我在步骤1中创建的子目录,nbproject是我在步骤3中向下移动的目录git rm
git status
并注意所有文件都被检测为重命名git log src/README
以确保历史记录正常答案 0 :(得分:2)
Git不存储文件副本和重命名,它使用启发式算法来解决这个问题。我推测Github并没有取消重命名,因为他们已经关闭重命名/复制启发式以节省处理能力。它不会影响很多但是如何在Github上显示提交。最简单的事情就是忽略它并继续编码。也许联系Github技术支持。
否则,您的另一个选择是rewrite history to make your subdirectory the main directory。这将保留历史记录,但会更改所有提交ID,这可能会丢失日志消息中的引用并发出跟踪器。 (我确实记得会在日志消息中更改提交ID的工具,但我无法记住它。)