我正在与不同分支机构的多个开发人员合作开发一个项目,该项目存在于:“... github.com/owner/project”。
通常有“主人”,“我”和几个“其他”分支。
我想创建一个新的github repo并在那里推送我的本地副本。但是,当我创建一个新的github repo,添加远程和推送时,会推送一个更旧的版本而不是最新的本地副本。
我四处搜索,看到了关于“独立头”和我不太熟悉的类似术语的答案。我也不是git的专家,所以我想我能做的最好的事情就是发布我遵循的步骤和配置选项。
Create new github repo called "project_copy" from github account ...
cd to local repo ...
git remote add project_copy ...github.com/me/project_copy.git
git config --list (a part is shown below):
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=...github.com/owner/project
remote.project_copy.url=...github.com/me/project_copy.git
remote.project_copy.fetch=+refs/heads/*:refs/remotes/project_copy/*
git push project_copy master
这是我得到的输出:
To ...github.com/me/project_copy.git
* [new branch] master -> master
Branch master set up to track remote branch master from project_copy.
通常我会使用以下命令将更改推送到我的分支:
git push origin me
答案 0 :(得分:0)
运行
git push project_copy master
将master
分支推送到project_copy
遥控器。这可以在输出中看到:
* [new branch] master -> master
Branch master set up to track remote branch master from project_copy.
但听起来你最近的工作是在一个名为me
的不同分支中。如果你想在me
分享你的作品,你有几个选择,其中两个是
me
合并到master
本地和git push project_copy master
,或me
将project_copy
分支推送到git push project_copy me
。如果您已完成me
并希望将其集成到master
分支中,则第一个选项可能是正确的选择。如果您希望将me
与master
分开,则第二种情况可能正确。
请注意,您也可以将me
推送到具有不同名称的远程分支。例如,如果me
对您有意义,但您的团队希望看到名为feature/add-something
的分支,则可以运行git push project_copy me:feature/add-something
。
有关详细信息,请参阅the documentation for git push
。 Refspec section in Pro Git也值得一读。