如何移动git存储库的根目录?

文森特

首先,我知道这个问题以前有人问在这里问题是我确实喜欢保留历史。

因此,我尝试了所有其他步骤,包括将.git目录上移或创建子目录,然后将所有文件从当前根目录移到该目录中。但是我一直在丢失文件的历史记录。

有趣的是,Git Bash(因此在我的本地命令行上)告诉我它检测到文件已被重命名,并且在我运行时,git log我也按预期获得了文件的历史记录。但是当我查看github时,历史记录消失了,提交仅包含要删除和添加的文件列表(而不是我期望的重命名列表)。

我正在谈论的存储库就是这个有一个名为“移动”的分支,在其中尝试移动文件。

如果有帮助,我采取的确切步骤是:

  1. 在包含.git的目录中创建子目录“ src”
  2. 将所有文件移到该子目录中
  3. 将目录从.git所在的上一层向下移动
  4. 运行a git add srcgit add nbproject其中src是我在步骤1中创建的子目录,并nbproject一个在步骤3中向下移动的目录
  5. 运行git rm于所有“旧文件”
  6. 运行agit status并注意,所有文件都被检测为已重命名
  7. 运行git log src/README以确保历史记录正常
  8. 最后将更改提交到github
  9. 请注意,当我在github上查看我的自述文件时,历史记录已经消失了
重的

Git不存储文件副本并重命名,它使用启发式方法来解决这一问题。我推测Github不会选择重命名,因为他们已经关闭了重命名/复制试探法以节省处理能力。它影响不大,但是如何在Github上显示一次提交。最简单的事情就是忽略它并继续编码。也许联系Github技术支持。

否则,您的另一个选择是重写历史记录,以使您的子目录成为主目录这将保留历史记录,但会更改您的所有提交ID,这可能会丢弃日志消息和问题跟踪器中的引用。(我确实记得有一个工具可以更改日志消息中的提交ID,但我不记得了。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在main中将main从存储库根目录移出

如何将git存储库移到另一个目录并将该目录作为git存储库?

如何在Git存储库中移动现有的Git子模块?

将子目录分离(移动)到单独的Git存储库中

Git:如何仅克隆Git存储库的子目录?

在Git存储库中,如何正确重命名目录?

git:将隐藏项移动到另一个目录中的存储库

Git:如何在存储库之间移动分支

如何获取当前目录相对于git存储库根目录的路径?

如何将目录标记为库根目录?

如何从特定目录而不是仓库的根目录执行git别名

如何在包含Git存储库的Git中存储目录?

flake8 --diff无法从存储库根目录以外的目录运行

如何克隆,获取或稀疏检出git存储库中的单个目录或目录列表?

Git:将多个文件从不同目录移动到新存储库的最快方法

是否有MSBuild属性提供存储库根目录?

如何仅克隆Git存储库的子目录?

如何使用git ignore忽略非dotfiles(所有非隐藏目录,在我的存储库的根目录中)?

根目录下意外移动的目录

如何使用SBT设置常春藤共享存储库根目录?

如何将目录粘贴到git存储库中

汇总根目录和存储库

使用不同的目录结构在git存储库中移动补丁

如何将现有的git存储库移动到新项目的外部目录

将Git存储库移动到另一个目录

如何将存储库的根目录设置到另一个目录

如何为目录和目录外的文件创建git存储库?

如何创建包含多个目录的 git 存储库?

移动 Git 存储库

TOP 榜单

热门标签

归档