添加缺失的 git 历史记录
Add missing git history
我错误地将 GitHub 存储库 (A) 移动到新的 Bitbucket 存储库 (B),方法是将所有文件从 A 添加到 B,这丢失了所有历史记录。我在 B 上做了一些工作(多次提交)并意识到我的错误,所以现在 A 包含旧历史直到某一点,而 B 包含从那一点开始的新历史。如何将 A 的历史记录与 B 合并,以便 B 包含文件的完整历史记录?
P.S.: 我想主要问题是 B 上的第一次提交与 A 上的第一次提交不同,因为没有历史记录,它包含每个文件的全文。
例子
存储库 A
Commit 1: Create new File X
Commit 2: File X
+ Hello World
Commit 3: File X
+ This is a test
存储库 B
Commit 1: Create new File X:
+ Hello World
+ This is a Test
Commit 2
+ This is a new line
我想创建一个具有以下历史记录的新存储库 C:
Commit 1: Create new File X
Commit 2: File X
+ Hello World
Commit 3: File X
+ This is a test
Commit 4:
+ This is a new line
git init c
cd c
git remote add a ...
git remote add b ...
git branch -u a master
git pull
git checkout b/master -b new-master
git rebase master
也可能有助于首先从新主控中删除初始文件添加;或者它可能只会让它变得更加困难,现在不确定。
我错误地将 GitHub 存储库 (A) 移动到新的 Bitbucket 存储库 (B),方法是将所有文件从 A 添加到 B,这丢失了所有历史记录。我在 B 上做了一些工作(多次提交)并意识到我的错误,所以现在 A 包含旧历史直到某一点,而 B 包含从那一点开始的新历史。如何将 A 的历史记录与 B 合并,以便 B 包含文件的完整历史记录?
P.S.: 我想主要问题是 B 上的第一次提交与 A 上的第一次提交不同,因为没有历史记录,它包含每个文件的全文。
例子
存储库 A
Commit 1: Create new File X
Commit 2: File X
+ Hello World
Commit 3: File X
+ This is a test
存储库 B
Commit 1: Create new File X:
+ Hello World
+ This is a Test
Commit 2
+ This is a new line
我想创建一个具有以下历史记录的新存储库 C:
Commit 1: Create new File X
Commit 2: File X
+ Hello World
Commit 3: File X
+ This is a test
Commit 4:
+ This is a new line
git init c
cd c
git remote add a ...
git remote add b ...
git branch -u a master
git pull
git checkout b/master -b new-master
git rebase master
也可能有助于首先从新主控中删除初始文件添加;或者它可能只会让它变得更加困难,现在不确定。