Git 跨子模块移动文件
Git move files accross submodules
我有一个使用子模块 B
的存储库 A
。 Repo A
将文件 file.filetype
作为跟踪对象。我想将该文件移动到 B
。我不一定要保留历史记录,但我想对 B
的任何用户都非常清楚,该文件不仅仅是新创建的,而是从 A
移走的(例如通过提供URL 到 A
和文件被移走的修订)。同样,在 A
上,我希望明确说明发生了什么:在此版本中,文件已移至 B
,可以从某个版本开始找到它。
我试过git mv
,好像有用,但是现在在A
上,git status
也告诉我B
已经被删除了,还有一些B
的(如果不是全部)文件被认为是“未跟踪文件”,这不仅奇怪而且令人担忧。然而,在 B
内部,一切或多或少都很好 - 它注意到一个新文件的出现,因此未被跟踪。它悲伤的不知道从哪里来,但是它看到了。
有什么建议吗?
手动取消git mv
(git reset HEAD
)和运行操作:
- 使用
mv
将磁盘上的文件从 A
移动到 B
- 来自子模块
B
:添加文件并提交,并在消息中提及您想要的信息:“从 repo A (commitid-in-A) 导入的文件”
- fome repo
A
:提交文件删除和子模块的新状态 B
,提交消息中提到您想要的信息:“文件已移至 B(commit-id-in-B)"
我有一个使用子模块 B
的存储库 A
。 Repo A
将文件 file.filetype
作为跟踪对象。我想将该文件移动到 B
。我不一定要保留历史记录,但我想对 B
的任何用户都非常清楚,该文件不仅仅是新创建的,而是从 A
移走的(例如通过提供URL 到 A
和文件被移走的修订)。同样,在 A
上,我希望明确说明发生了什么:在此版本中,文件已移至 B
,可以从某个版本开始找到它。
我试过git mv
,好像有用,但是现在在A
上,git status
也告诉我B
已经被删除了,还有一些B
的(如果不是全部)文件被认为是“未跟踪文件”,这不仅奇怪而且令人担忧。然而,在 B
内部,一切或多或少都很好 - 它注意到一个新文件的出现,因此未被跟踪。它悲伤的不知道从哪里来,但是它看到了。
有什么建议吗?
手动取消git mv
(git reset HEAD
)和运行操作:
- 使用
mv
将磁盘上的文件从 - 来自子模块
B
:添加文件并提交,并在消息中提及您想要的信息:“从 repo A (commitid-in-A) 导入的文件” - fome repo
A
:提交文件删除和子模块的新状态B
,提交消息中提到您想要的信息:“文件已移至 B(commit-id-in-B)"
A
移动到 B