这是我回答其他人的好处的问题。但是,如果有人在我完成研究之前回答了这个问题,我将不胜感激。
我如何从shell中分支现有的git repo(我有开发人员访问权限),编辑它,提交这些更改,然后将推送到服务器进行审核,然后再进行合并。
修改
请注意,这不是我的项目,而是其他人的项目。这种使用让我有机会做一些工作。完成后,我会请求他们将更改合并回原来的
答案 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)
如果我理解你的问题:
这实际上是一个非常正常的情况,这是做什么的:
在GitLab上,分叉项目:这将在您的个人工作空间中创建原始存储库的克隆。关键是你可以推送到你的个人工作空间。
在您的电脑上,从您的前叉克隆,而不是原始。
创建分支(git checkout -b myfeature
),进行更改并提交,然后将此分支推送到您的分支(git push -u origin HEAD
)
在GitLab上,访问您的fork页面,在顶部附近应该有一个按钮,您可以从刚刚推送的分支创建合并请求。单击它,查看更改,如果看起来不错,则设置受理人并单击“创建”。受让人应收到电子邮件通知
您无需对项目进行写入权限即可。
您的所有写入操作都在GitLab和本地PC上的工作区中。
合并请求的审阅者可以接受或拒绝。
他们还可以要求您进行改进,您可以实施并推送(在本地提交后简单git push
),更新合并请求(审阅者可以在浏览器中重新加载页面并查看更改)。