Git:推送到每个分支的不同位置
Git: push to different locations per branch
我想设置一个 git 存储库,我可以在其中 push/pull 我的更改 to/from 不同的位置,具体取决于我所在的分支。
这个想法是有两个分支:
- master: 供内部开发(我根本不允许发布)我
会 push/pull 来自本地 Stash
- dev:用于从 github 拉取更改并回馈,也用它来合并
master偶尔会变
我假设使用此设置我可以轻松处理同一项目的 internal/public 开发。
现在我被困在如何做到这一点上。我遵循了 this 的回答,但在我看来
远程位置只能应用于整个存储库而不是单独的分支。
如何解决这个问题?如果这不是要走的路,请给我一个最佳实践建议。
git push
的长格式为:
git push remotename localbranch:remotebranch
它为您提供了选择性地将分支推送到所需远程所需的所有灵活性。
例子
将 master
分支推送到 origin
git push origin master
将 develop
分支推送到 myfork
git push myfork develop
将 develop
分支推送到 myfork
上名为 newbranch
的分支
git push myfork develop:newbranch
带冒号的完整语法也可用于删除分支。这通过将 "nothing" 推入
从 myfork
中删除 newbranch
git push myfork :newbranch
我倾向于主要使用带有 git 的显式命令,而不是依赖于某些默认行为。每当一个同事卡在 git 时,他的命令历史记录中通常会有一个简单的 git pull
或 git push
这让我微笑(如果我心情特别糟糕,或者叹气)。
由于您还要求小费,在推动之前您可能需要四处看看:
git remote -v
git fetch remotename
git branch -a
我想设置一个 git 存储库,我可以在其中 push/pull 我的更改 to/from 不同的位置,具体取决于我所在的分支。
这个想法是有两个分支:
- master: 供内部开发(我根本不允许发布)我
会 push/pull 来自本地 Stash - dev:用于从 github 拉取更改并回馈,也用它来合并 master偶尔会变
我假设使用此设置我可以轻松处理同一项目的 internal/public 开发。 现在我被困在如何做到这一点上。我遵循了 this 的回答,但在我看来 远程位置只能应用于整个存储库而不是单独的分支。
如何解决这个问题?如果这不是要走的路,请给我一个最佳实践建议。
git push
的长格式为:
git push remotename localbranch:remotebranch
它为您提供了选择性地将分支推送到所需远程所需的所有灵活性。
例子
将
master
分支推送到origin
git push origin master
将
develop
分支推送到myfork
git push myfork develop
将
上名为develop
分支推送到myfork
newbranch
的分支git push myfork develop:newbranch
带冒号的完整语法也可用于删除分支。这通过将 "nothing" 推入
从myfork
中删除newbranch
git push myfork :newbranch
我倾向于主要使用带有 git 的显式命令,而不是依赖于某些默认行为。每当一个同事卡在 git 时,他的命令历史记录中通常会有一个简单的 git pull
或 git push
这让我微笑(如果我心情特别糟糕,或者叹气)。
由于您还要求小费,在推动之前您可能需要四处看看:
git remote -v
git fetch remotename
git branch -a