将未按下的本地分支提交移动到新的存储库

时间:2017-04-20 12:23:35

标签: git version-control

我正在创建一个我没有权利的项目的新版本。不幸的是,当我想推动我的更改时,我开始进行更改(超过20个本地提交)并意识到我的错误。

例如,我正在使用未经删除的本地提交在分支ProjectA上使用local,我可以将整个local分支转移到新的{ {1}}为ProjectB

我知道我可以联系原始项目的开发人员,为我提供解决问题的临时权利。但是我很好奇是否有现成的方法只使用Git命令。

我已经找到了:

3 个答案:

答案 0 :(得分:3)

只需更改推送目标。

git remote set-url origin https://github.com/username/ProjectB.git

答案 1 :(得分:1)

创建一个新的空存储库(例如,projectB)。然后将projectb的新远程(例如,projectB)添加到projectA

 $ git remote add projectb <projectB-url>      # add a new remote called 'projectb' with the url of project 'projectB'

现在将您的projectA回购local分支提交/更改推送到projectbB repo的master分支。

$ git checkout local         # make sure you are in 'local' branch
$ git push projectb master

答案 2 :(得分:1)

似乎你仍然想为起源github repo做出贡献。 所以你可以分叉这个仓库,然后通过以下方式将你的本地更改推送到fork repo

git remote add fork <URL for the fork repo> -f
git checkout local
git push fork master

现在,fork repo的master分支包含您的本地更改。您可以创建拉取请求以将更改合并到原始github仓库。