所以在理想的世界中,当我开始这个项目时,我会从源代码克隆,然后将所有更改都提交到此repo。当主项目更新时,我可以将这些更改提取到我的仓库中。 (这是单向交通,没有继续推进。)
然而,当我开始时,我没有克隆,只是下载了已发布的代码ZIP,解压缩它,然后做了git init
。我已经将所有更改提交到此代码副本。但是,主代码库现在已经更新,但由于我的副本不是合并,而是我自己的同一基本代码的回购,我无法将主代的更改合并到我的。
有没有办法让这些更改从主代码进入我的仓库而不必重新开始?
答案 0 :(得分:3)
您可以通过在远程更改之上重新设置私有存储库的更改来修复存储库。
git rebase
移植您在远程提交之上的提交。这就像是:
cd $your_git_repository
git remote add origin $URL
git fetch origin
git branch -m my_branch
git rebase --onto $base_commit $your_first_commit my_branch
git merge $remote_branch
git log --graph --decorate --oneline
其中$base_commit
是与您首先下载的zip相对应的提交,$your_first_commit
是您提交的压缩文件提交的提交。
答案 1 :(得分:0)
最简单的方法 - 将最新版本的代码克隆到folderA
中。假设您在folderB
中的解压缩源中工作。将folderB
内容复制到folderA
。提交更改。推!
答案 2 :(得分:0)