将带提交历史的文件夹移入新建父文件夹(Bitbucket Git仓库)
将文件夹移入新父目录并保留Git提交历史
操作步骤
确保你在本地仓库的根目录(Project1目录下)执行以下命令:
拉取最新代码
先同步远程仓库的最新内容,避免冲突:git pull origin <你的分支名>创建新父文件夹并移动原文件夹
使用git mv命令完成移动,Git会自动识别这是重命名操作,完整保留提交历史:# 移动Folder1到NewParentFolder1 git mv Folder1 NewParentFolder1 # 移动Folder2到NewParentFolder2 git mv Folder2 NewParentFolder2注:如果
NewParentFolder1/NewParentFolder2不存在,git mv会自动创建这些目录。确认修改状态
执行以下命令查看当前Git状态,确认移动操作正确:git status输出应该显示
renamed: Folder1 -> NewParentFolder1/Folder1和renamed: Folder2 -> NewParentFolder2/Folder2。提交修改
提交移动操作,填写清晰的提交信息:git commit -m "Move Folder1 to NewParentFolder1, Folder2 to NewParentFolder2"推送到远程仓库
将本地提交推送到Bitbucket远程仓库:git push origin <你的分支名>
验证提交历史
要确认Folder1/Folder2的原始提交历史是否保留,可执行以下命令:
# 查看Folder1的完整历史(包括移动前的记录) git log --follow -- NewParentFolder1/Folder1 # 查看Folder2的完整历史 git log --follow -- NewParentFolder2/Folder2
注意事项
- 不要使用普通的
mv命令,否则Git会将原文件夹标记为删除、新文件夹标记为新增,导致提交历史断裂。 - 如果你的仓库有多人协作,推送后提醒队友拉取最新代码,避免后续操作冲突。
内容的提问来源于stack exchange,提问作者Ronnie
相关产品推荐
相关产品推荐

