我正在尝试将存储库中的一些文件移动到一个新文件夹中。我想让 git / TortoiseGit 认识到这是一个移动而不是删除和多次添加。
我怎样才能使这项工作?我检查了 TortoiseGit 的文档并搜索了谷歌,但这似乎不是很有用。
所以,我所拥有的是这个结构:
repo_root/somefile.txt
Run Code Online (Sandbox Code Playgroud)
我想要的是:
repo_root/new_folder/somefile.txt
Run Code Online (Sandbox Code Playgroud)
当然,“somefile.txt”代表正在移动的所有文件和文件夹。
Yue*_* Ho 15
记住一件事:Git 只跟踪文件内容。
来自Pro Git book v2 的移动文件部分:
与许多其他 VCS 系统不同,Git 没有明确跟踪文件移动。如果您在 Git 中重命名文件,则 Git 中不会存储任何元数据来告诉它您重命名了文件。然而,Git 在事后弄清楚这一点非常聪明
而且,移动和重命名在 Git 中是一回事。
因此,Git 自动检测移动/重命名仅在这些文件未被修改的前提下起作用。
仅当您移动/重命名文件时,Git 会执行以下操作:
abc.abc也是 。假设您修改了一些跟踪文件并将它们移动到其他文件夹中。然后,不幸的是,git 无法将它们检测为在提交时自动重命名/移动。
如果您真的希望 git 自动跟踪重命名/移动,则需要执行以下操作:
确保您不要修改文件,并且只在一次提交中重命名/移动文件。
如果您想同时修改文件和移动文件,并希望 git 使用 TortoiseGit 将它们检测为重命名/移动,那么在您的情况下:
注意:您需要一一重命名文件。假设有很多工作要做。所以,最好只重命名文件。
注2:如果对文件进行了大量修改,git 无法确定它是重命名/移动。
小智 5
如果你想在你的工作树中移动文件,或者移动到不同的子文件夹,你可以使用鼠标右键拖放处理程序:
A.选择要移动的文件或目录
B.右键将它们拖到工作树内的新位置
C.松开鼠标右键
D. 在弹出菜单中选择Context Menu ? Git 在此处移动版本化文件
| 归档时间: |
|
| 查看次数: |
8796 次 |
| 最近记录: |