我是git的新手。我在一个中央git存储库中有一个maven项目。
目前项目看起来像这样:
Root
|
project
|
src/
target/
.project
.gitignore
.classpath
.settings/
pom.xml
我想重新构建文件夹,以便所有文件和文件夹都在Root下,而不是在项目名称下。
我想进行重组的主要原因是我用于制作版本的Nexus机器表示无法找到pom.xml
。
我在git中看了一个类似的项目,它看起来和我想要的一样,并且在Nexus中运行良好。
我尝试使用git mv
命令移动文件和文件夹,但它拒绝移动任何文件夹。我设法使用mv移动pom.xml
但是项目无法完成pom.xml
并且我在Eclipse中有很多错误。
答案 0 :(得分:0)
假设,Root
目录是git项目的根目录。可以使用git rev-parse --show-toplevel
命令验证它。
Java项目包含两种类型的文件 - 由git管理,不由git管理(在git status
输出中标记为未跟踪)。
因此,要将项目从Root/project/
目录移动到Root
目录:
1)使用git mv
移动跟踪的文件:
如果跟踪的文件为src/*
,pom.xml
和.gitignore
:
git mv project/src/* ./src/
git mv project/pom.xml ./
git mv project/.gitignore ./
2)使用mv
移动未跟踪的文件:
Git正在处理应用于文件而不是目录的补丁。这就是git将Root/project/src/
目录留空的原因。删除它。
$> mv project/* ./ -v
‘project/target’ -> ‘./target’
顺便说一下,.gitignore
目录中Root/project/
存储在Root
目录中的文件很奇怪。