在这种情况下,上游是一个分支吗?它确实看起来像。我相信分支名称真的会让人感到困惑。
但要回答一些问题:
假设你有master -> origin/master
和upstream -> origin/upstream
。看起来您已经让本地分支机构跟踪远程分支机构。
我该如何设置它以便我可以从本地机器推送到源/上游?
切换到上游分支
> git checkout upstream
... awesome changes
> git commit -a -m "Did something awesome."
> git push origin upstream
您使用结帐切换到本地跟踪的上游分支。做一些改变。提交它们,它们将它们推回原点。
另外,我将如何设置从源/上游拉入源/主?
你不直接这样做。您必须在本地合并然后推送。
> git checkout upstream
> git pull origin upstream
> git checkout master
> git merge --no-ff upstream
> git commit -a -m "Merged upstream into master."
> git push origin master
将本地分支更改为上游。从远程分支中提取任何更改。如果存在合并问题,您必须先修复 + 提交,然后再切换回 master。切换到 master 分支并将上游的更改合并到 master 中。我关闭了快速转发,以便它创建一个新的合并提交,而不是仅仅移动 master 的指针。
提交合并,然后将其推送回远程服务器。
困惑
如果上游应该是另一个远程位置,例如起源,那么我不确切知道您要做什么,因为您将上游列为起源/上游。
据我所知,上游的名称将用于命名另一个远程位置。在这种情况下,来源将类似于上游。不掌握上游。但我仍然假设您创建了 2 个分支,一个称为 master(默认创建),一个称为 upstream,您希望在它们中工作并将上游合并到 master。