将文件移动到 git 存储库的根目录
Move files to root of git repo
我需要将所有文件从文件夹 "example" 移动到 git 存储库的根目录。我无法弄清楚它的命令。
有人可以帮忙吗?
谢谢
git mv example/* .
git commit -m "moved example/* to root"
您需要使用git mv
命令。查看下面的命令和结果输出。这是在 ZShell 中完成的,但应该适用于 Bash 和其他人。
/tmp/test
.:
total 4.0K
drwxrwxr-x 2 ray ray 4.0K Sep 2 03:22 example/
./example:
total 0
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file1.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file2.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file3.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file4.txt
➜ test git:(master) git mv example/* .
➜ test git:(master) ✗ gst
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: example/file1.txt -> file1.txt
renamed: example/file2.txt -> file2.txt
renamed: example/file3.txt -> file3.txt
renamed: example/file4.txt -> file4.txt
➜ test git:(master) ✗ ls -lR
.:
total 4
drwxrwxr-x 2 ray ray 4096 Sep 2 03:22 example
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file1.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file2.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file3.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file4.txt
./example:
total 0
➜ test git:(master) ✗ git commit -m "Moved example/* to project root"
[master 1999275] Moved example/* to project root
4 files changed, 0 insertions(+), 0 deletions(-)
rename example/file1.txt => file1.txt (100%)
rename example/file2.txt => file2.txt (100%)
rename example/file3.txt => file3.txt (100%)
rename example/file4.txt => file4.txt (100%)
➜ test git:(master)
确保您尝试移动的是 文件 而不是目录,这可能会导致错误消息:
/tmp/test
total 8.0K
drwxrwxr-x 2 ray ray 4.0K Sep 2 03:29 ex/
drwxrwxr-x 2 ray ray 4.0K Sep 2 03:22 example/
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file1.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file2.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file3.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file4.txt
➜ test git:(master) git mv example ex
fatal: source directory is empty, source=example, destination=ex/example
最后但同样重要的是,确保目录中的文件已经被跟踪。如果您尝试 git mv
从未 git add
ed and/or git commit
ed 的文件,那么您也会 运行 进入此错误消息。
我需要将所有文件从文件夹 "example" 移动到 git 存储库的根目录。我无法弄清楚它的命令。 有人可以帮忙吗? 谢谢
git mv example/* .
git commit -m "moved example/* to root"
您需要使用git mv
命令。查看下面的命令和结果输出。这是在 ZShell 中完成的,但应该适用于 Bash 和其他人。
/tmp/test
.:
total 4.0K
drwxrwxr-x 2 ray ray 4.0K Sep 2 03:22 example/
./example:
total 0
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file1.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file2.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file3.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file4.txt
➜ test git:(master) git mv example/* .
➜ test git:(master) ✗ gst
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: example/file1.txt -> file1.txt
renamed: example/file2.txt -> file2.txt
renamed: example/file3.txt -> file3.txt
renamed: example/file4.txt -> file4.txt
➜ test git:(master) ✗ ls -lR
.:
total 4
drwxrwxr-x 2 ray ray 4096 Sep 2 03:22 example
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file1.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file2.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file3.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file4.txt
./example:
total 0
➜ test git:(master) ✗ git commit -m "Moved example/* to project root"
[master 1999275] Moved example/* to project root
4 files changed, 0 insertions(+), 0 deletions(-)
rename example/file1.txt => file1.txt (100%)
rename example/file2.txt => file2.txt (100%)
rename example/file3.txt => file3.txt (100%)
rename example/file4.txt => file4.txt (100%)
➜ test git:(master)
确保您尝试移动的是 文件 而不是目录,这可能会导致错误消息:
/tmp/test
total 8.0K
drwxrwxr-x 2 ray ray 4.0K Sep 2 03:29 ex/
drwxrwxr-x 2 ray ray 4.0K Sep 2 03:22 example/
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file1.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file2.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file3.txt
-rw-rw-r-- 1 ray ray 0 Sep 2 03:22 file4.txt
➜ test git:(master) git mv example ex
fatal: source directory is empty, source=example, destination=ex/example
最后但同样重要的是,确保目录中的文件已经被跟踪。如果您尝试 git mv
从未 git add
ed and/or git commit
ed 的文件,那么您也会 运行 进入此错误消息。