如何从GIT repo中删除目录级别?

如何从GIT repo中删除目录级别?,git,Git,我的目录结构如下所示,我想删除“uneeded_dir” /myrepo /unneeded_dir /mycode 所有内容都在mycode目录下,但一开始我认为我需要不必要的目录。现在我需要移除那个无用的关卡。是否有一种方法可以做到这一点,但仍然保留位于其中的所有文件的日志?我只是移动(或git mv),它们将不得不重新添加 我愿意做任何事情来重新创建一个新的GIT repo。您需要创建一个commit来移动所有文件。您可以使用git mv Git将跟踪移动,您的文件历

我的目录结构如下所示,我想删除“uneeded_dir”

/myrepo
   /unneeded_dir
       /mycode
所有内容都在mycode目录下,但一开始我认为我需要不必要的目录。现在我需要移除那个无用的关卡。是否有一种方法可以做到这一点,但仍然保留位于其中的所有文件的日志?我只是移动(或git mv),它们将不得不重新添加


我愿意做任何事情来重新创建一个新的GIT repo。

您需要创建一个commit来移动所有文件。您可以使用git mv


Git将跟踪移动,您的文件历史记录将被保留。如果使用
git mv
移动文件并添加和提交它们而非。Git将识别重命名,但旧文件的历史记录将丢失。

您需要创建一个提交来移动所有文件。您可以使用git mv


Git将跟踪移动,您的文件历史记录将被保留。如果使用
git mv
移动文件并添加和提交它们而非。Git将识别重命名,但旧文件的历史记录将丢失。

我确实更喜欢另一种更残酷的解决方案,因为它涉及重新创建整个回购协议,但对我来说,这正是我想要的:


我真的更喜欢另一种更残酷的解决方案,因为它涉及重新创建整个回购协议,但对我来说,这正是我想要的:


但这不会让我把原木弄松吗?这意味着这些文件将像回购协议中的新文件一样?只要您使用,
git mv
历史记录将被跟踪。无论您是否使用
git mv
,所有文件的整个历史记录都将保留在您的存储库中。使用
git mv
一步为您移动文件并更新索引。您可以交替使用
mv
移动文件,然后只需执行
git add-a.
即可完成相同的操作。您不会丢失旧文件的历史记录。但是我必须始终使用“-follow”,但我想没有其他方法。但这不会使我丢失日志吗?这意味着这些文件将像回购协议中的新文件一样?只要您使用,
git mv
历史记录将被跟踪。无论您是否使用
git mv
,所有文件的整个历史记录都将保留在您的存储库中。使用
git mv
一步为您移动文件并更新索引。您可以交替使用
mv
移动文件,然后只需执行
git add-a.
即可完成相同的操作。您不会丢失旧文件的历史记录。但是我必须始终使用“-follow”,但我想没有其他方法。