需要提交提交到一个分支

need to submit commit to a branch

我正在与其他人合作。 (其他公司)

他们使用 gerrit 审查提交。

问题(规则)是,我不能直接将我的提交推送到master,我需要先推送到一个分支,然后他们会审查并合并它。

所以:

  1. 远程站点(管理员)需要为我创建一个分支吗?我无法创建本地分支然后推送到远程。

  2. Admin给我创建了一个分支(ex: tea_branch),那个分支只是提交一个patch,也许10天后,master分支已经有很多新的commit,它会自动合并到 tea_branch 吗?或者我需要请求管理员执行此操作?

  3. 我还能在本地的 master 分支上工作,但在需要时推送到 tea_branch 吗?或者每当我想提交提交时,我需要在 tea_branch 工作,这是我的担忧,tea_branch 可能无法保持最新​​状态。

可以直接推送到新的分支。事实上,推动的行为创建了这个新分支。例如:

$ git push ssh://sshusername@hostname:29418/projectname HEAD:refs/for/mybranch

如果 master 在您的分支正在审查期间推进,合并它的行为应该自动重新设置您的更改,然后合并它。如果有merge冲突,merge会失败,reviewer会要求你自己rebase来解决冲突。

我不会在本地学习 master。

我会在本地结帐 tea_branch 并对其进行更改。

如果您已正确连接到遥控器 - 例如通过执行 git clone 然后检查远程存在的分支创建一个本地分支,该分支设置为管理员为您创建的分支。

您应该定期合并来自 master 的代码更改。更频繁意味着更改更小并且不太可能引起冲突。但您的工作流程也会受到一些干扰,因此请找到适合的模式。

你绝对应该从 master 合并到 yo 在创建合并请求之前你的分支。这样你就可以在它们发生之前解决任何合并冲突,并针对 master 中发生的任何影响你的代码的更改进行调整。 我这样做

git fetch

git merge origin/master