# git-mv
> 原文: [https://git-scm.com/docs/git-mv](https://git-scm.com/docs/git-mv)
## 名稱
git-mv - 移動或重命名文件,目錄或符號鏈接
## 概要
```
git mv <options>…? <args>…?
```
## 描述
移動或重命名文件,目錄或符號鏈接。
```
git mv [-v] [-f] [-n] [-k] <source> <destination>
git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>
```
在第一種形式中,它將<source>重命名為<destination>,<source>必須存在,并且可以是文件,符號鏈接或目錄。在第二種形式中,最后一個參數必須是現有目錄;給定的源將被移動到此目錄中。
成功完成后會更新索引,但仍必須提交更改。
## 選項
```
-f
```
```
--force
```
即使目標存在,也強制重命名或移動文件
```
-k
```
跳過移動或重命名可能導致錯誤情況的操作。當源既不存在也不由Git控制時,將發生錯誤,或者除非給出`-f`,覆蓋現有文件時也會發生錯誤。
```
-n
```
```
--dry-run
```
沒做什么;只顯示會發生什么
```
-v
```
```
--verbose
```
在移動文件時報告文件的名稱。
## 子模
使用gitfile移動子模塊(這意味著它們使用Git 1.7.8或更高版本克隆)將更新gitfile和core.worktree設置以使子模塊在新位置工作。它還將嘗試更新 [gitmodules [5]](https://git-scm.com/docs/gitmodules) 文件中的子模塊<name>.path設置并暫存該文件(除非使用-n)。
## BUGS
每次超級項目更新移動填充的子模塊時(例如,當在移動之前和之后切換提交時),舊的子模塊檢出將保留在舊位置,并且空目錄將出現在新位置。要在新位置再次填充子模塊,用戶必須在之后運行“git submodule update”。刪除舊目錄只有在使用gitfile時才是安全的,否則子模塊的歷史記錄也將被刪除。當實現遞歸子模塊更新時,這兩個步驟都將過時。
## GIT
部分 [git [1]](https://git-scm.com/docs/git) 套件
- git
- git-config
- git-help
- git-init
- git-clone
- git-add
- git-status
- git-diff
- git-commit
- git-reset
- git-rm
- git-mv
- git-branch
- git-checkout
- git-merge
- git-mergetool
- git-log
- git-stash
- git-tag
- git-worktree
- git-fetch
- git-pull
- git-push
- git-remote
- git-submodule
- git-show
- git-log
- git-shortlog
- git-describe
- git-apply
- git-cherry-pick
- git-rebase
- git-revert
- git-bisect
- git-blame
- git-grep
- gitattributes
- giteveryday
- gitglossary
- githooks
- gitignore
- gitmodules
- gitrevisions
- gittutorial
- gitworkflows
- git-am
- git-format-patch
- git-send-email
- git-request-pull
- git-svn
- git-fast-import
- git-clean
- git-gc
- git-fsck
- git-reflog
- git-filter-branch
- git-instaweb
- git-archive
- git-bundle
- git-daemon
- git-update-server-info
- git-cat-file
- git-check-ignore
- git-checkout-index
- git-commit-tree
- git-count-objects
- git-diff-index
- git-for-each-ref
- git-hash-object
- git-ls-files
- git-merge-base
- git-read-tree
- git-rev-list
- git-rev-parse
- git-show-ref
- git-symbolic-ref
- git-update-index
- git-update-ref
- git-verify-pack
- git-write-tree