【问题标题】:How to create and commit a branch in gitlab如何在 gitlab 中创建和提交分支
【发布时间】:2015-08-20 18:16:53
【问题描述】:

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

我如何从 shell 分支现有的 git repo(我有开发人员访问权限),对其进行编辑,提交这些更改,然后 push 在合并之前将其推送到服务器进行审查。

编辑

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

【问题讨论】:

  • 嘿介意接受这个答案吗?

标签: git ubuntu-14.04


【解决方案1】:

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

然后进行更改。完成更改后。您需要进行如下所示的“提交”

git commit -m "I changed something somewhere"

然后,您将需要从 repo 中删除您工作时可能已推送的任何更改。

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

编辑 要在不覆盖 master 的情况下推送到 repo,请执行以下操作:

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

【讨论】:

  • 问题是我不是repo的主人,只是开发者。我可以分叉/拉动 git,但我不能提交更改。据我了解,我必须 branch 然后提交,等待批准然后合并
  • 你是想推送自己的记录,还是需要分享给当前分支的开发者?
  • 你需要请求权限才能推送到 repo。此外,您还需要重命名您在本地的分支,这样当您推送时,您不会推送到现有 master 之上。我会更新答案。
  • 我是通过发出命令 mv sourcefolder destfolder 还是通过 git 命令重命名它?另外,我是通过打电话给那个人并用啤酒贿赂他来请求许可,还是有一种 git 方法可以做到这一点?
  • @mathtick 这与用户名无关。他正在尝试创建一个远程分支以在被拉入远程主分支之前进行审查。
【解决方案2】:

如果我正确理解您的问题:

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

这实际上是一个完全正常的情况,这是怎么做的:

  1. 在 GitLab 上,fork 项目:这会在您的个人工作区中创建原始存储库的克隆。关键是您可以推送到您的个人工作区。

  2. 在您的 PC 上,从您的 fork 克隆,而不是原始版本。

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

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

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

【讨论】:

    猜你喜欢
    • 2015-06-08
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2021-02-23
    • 2021-05-24
    相关资源
    最近更新 更多