如何在gitlab中创建和提交分支

时间:2015-08-20 18:16:54

标签: git ubuntu-14.04

这是我回答其他人的好处的问题。但是,如果有人在我完成研究之前回答了这个问题,我将不胜感激。

我如何从shell中分支现有的git repo(我有开发人员访问权限),编辑它,提交这些更改,然后推送到服务器进行审核,然后再进行合并。

修改

请注意,这不是我的项目,而是其他人的项目。这种使用让我有机会做一些工作。完成后,我会请求他们将更改合并回原来的

2 个答案:

答案 0 :(得分:9)

要设置您的回购,您需要关注these instructions。然后,您需要克隆/分叉现有的仓库like this

然后进行更改。完成更改后。你需要做一个" commit"看起来像这样

git commit -m "I changed something somewhere"

然后你会想要从你工作时可能已被推动的回购中删除任何变化。

git pull origin master   // master being the branch that you cloned/forked

拉动完成后没有冲突,您可以推动更改。

git push origin master   // this is saying that you want to replace the remote master branch with your local master branch

修改 要在不覆盖主人的情况下推送回购,请执行以下操作:

git clone                   //clone what branch you want
git checkout -b new_branch  //this will create a new local branch
git push origin new_branch  //this will create a new origin branch

答案 1 :(得分:1)

如果我理解你的问题:

  • 您无权推送到存储库
  • 您想创建分支,进行一些提交,然后提出合并请求

这实际上是一个非常正常的情况,这是做什么的:

  1. 在GitLab上,分叉项目:这将在您的个人工作空间中创建原始存储库的克隆。关键是你可以推送到你的个人工作空间。

  2. 在您的电脑上,从您的前叉克隆,而不是原始。

  3. 创建分支(git checkout -b myfeature),进行更改并提交,然后将此分支推送到您的分支(git push -u origin HEAD

  4. 在GitLab上,访问您的fork页面,在顶部附近应该有一个按钮,您可以从刚刚推送的分支创建合并请求。单击它,查看更改,如果看起来不错,则设置受理人并单击“创建”。受让人应收到电子邮件通知

  5. 您无需对项目进行写入权限即可。 您的所有写入操作都在GitLab和本地PC上的工作区中。 合并请求的审阅者可以接受或拒绝。 他们还可以要求您进行改进,您可以实施并推送(在本地提交后简单git push),更新合并请求(审阅者可以在浏览器中重新加载页面并查看更改)。