简体中文 ▾
Localized versions of git-mv manual
Topics ▾
Email
Latest version
▾
git-mv last updated in 2.43.0
Changes in the git-mv manual
Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.0 11/20/23
- 2.39.1 → 2.42.1 no changes
- 2.39.0 12/12/22
描述
Move or rename a file, directory, or symlink.
git mv [-v] [-f] [-n] [-k] <源文件> <目标文件> git mv [-v] [-f] [-n] [-k] <源文件> ...<目标目录>
在第一种形式中,它将 <源文件>(必须存在且可以是文件、符号链接或目录)重命名为 <目标文件>。在第二种形式中,最后一个参数必须是一个已存在的目录;给定的源文件将被移动到该目录中。
在移动成功完成后,索引就会被更新,但更改仍需要进行提交才能生效。
子模块
使用 gitfile(意味着它们是使用 Git 1.7.8 或更新版本进行克隆的)来移动子模块将更新 gitfile 和 core.worktree 设置,以使子模块在新位置正常工作。它还将尝试更新 gitmodules[5] 文件中的 submodule.<name>.path 设置,并将该文件暂存(除非使用了 -n 选项)。
漏洞
每当父工程更新导致子模块移动时(例如,在移动之前和之后的提交之间切换时),旧位置将保留一个陈旧的子模块检出,并在新位置出现一个空目录。要在新位置重新填充子模块,用户必须运行 "git submodule update"。只有在旧目录使用 gitfile 时,删除旧目录才是安全的,否则子模块的历史记录也将被删除。当实现递归子模块更新时,这两个步骤将变得不再需要。
GIT
属于 git[1] 文档