Git:我不明白拉取请求怎么可能像这样工作



我想了解如何从命令行执行 Git 拉取请求。我在这里找到了一个关于这个的文档:http://git-scm.com/docs/git-request-pull - 看看示例部分)。如果我想应用这个概念,我想我必须像这样做我们的流程工作:

# Never work directly on 'master', unless we have trivial changes.
# Create privat branch instead. 
git checkout -b mybranch
# hack hack hack
git add .
git commit -m ...
git checkout master
# For the safe side (in case someone else has pushed meanwhile):
git pull
# Record the SHA from this
last_commit=$(git rev-parse --short HEAD)
git merge mybranch
# Now following the Example at http://git-scm.com/docs/git-request-pull 
git push # <------------------- Here be dragons!!!!
git pull-request $last_commit https://my.repository.url/blabla master

在这个例子中,我发现推送的位置很奇怪。据我了解,拉取请求的全部意义在于,只有那些更改才会进入 master,这些更改是"批准的"(即不会自动进入 origin/master)。但是,当我进行推送时,它们在最新版本的主控中立即可见。

也许有人可以在这里启发我?

http://git-scm.com/docs/git-request-pull 中,第一个push是从只有您有权访问的本地计算机(例如笔记本电脑)推送到共享站点上的个人存储库。 共享站点版本允许其他人阅读它,但首先您必须通过push步骤将其写入其中。

一旦对"可见"共享站点存储库的push完成,您就可以向(管理人员)发送拉取请求到第三个存储库,然后他们可以从您的可见存储库获取提交。 您在笔记本电脑上的"工作"存储库对外界仍然不可见,因此如果您仅将其保存在笔记本电脑上,他们将无法获取您的提交。

相关内容