如何把一个仓库的文件夹里的a.txt文件迁移到新仓库的子仓库里并且a.txt的提交记录也迁移过去
时间: 2024-09-30 14:14:18 浏览: 32
lilibibi-pan:网盘耶!
将一个仓库中的 `a.txt` 文件迁移至另一个仓库的子仓库,并保持其历史提交记录,通常需要通过Git来操作。以下是步骤:
1. **克隆源仓库**:
首先,你需要克隆原始仓库到本地,例如:
```
git clone https://github.com/original_repo.git
```
2. **进入目标子仓库目录**:
创建一个新的子仓库,进入该目录:
```
mkdir sub_repo
cd sub_repo
```
3. **初始化子仓库并添加远程连接**:
初始化新的Git仓库,并添加源仓库作为远程关联:
```
git init
git remote add upstream https://github.com/destination_repo.git
```
4. **拉取原始仓库内容**:
将 `a.txt` 文件及其提交历史拉入新子仓库:
```
git fetch upstream original_repo/a.txt
```
这会创建一个名为 `original_repo/a.txt` 的分支,包含了你要移动的文件。
5. **将文件移动到正确位置**:
将 `a.txt` 移动到子仓库内的适当位置,然后添加到暂存区并提交:
```
cp ../original_repo/a.txt .
git add a.txt
git commit -m "Move a.txt from parent to sub repository"
```
6. **推送更改**:
推送你的更改到子仓库的远程:
```
git push -u upstream master
```
现在,`a.txt` 文件以及它的历史记录已从源仓库转移到了子仓库。如果你希望保留原有的提交ID,可以使用 `git cherry-pick` 或 `git rebase` 来手动调整提交顺序。
阅读全文