[英]Proper Way to Pull Changes from Github?
我将以我是新手这一事实作为开头,而我只想得到一个明确的答案,因为当我上网寻求帮助时会感到困惑。 也就是说,这是我的问题:
如果有人提交了拉取请求,那么在与master合并之前,如何将这些更改拉到本地计算机上进行审查? 假设该分支名为feature1 。
我本地计算机上的“ git pull feature1”就足够了吗?
我本以为您可以通过bitbucket单击“合并”按钮,然后将“ git pull origin master”拖放到本地,但是无法事先检查代码,因此看起来不正确。
再次致歉,如果这是一个非常初学者的问题。 只是希望有些清晰。 提前致谢。
拉取请求是一种特殊的ref,格式为refs/pull/<number>/head
。 假设有一个拉取请求#29
。 您可以通过以下方法获取它并在本地存储库中p29
创建本地分支p29
:
git fetch origin pull/29/head:p29
然后通过以下方式将其与master
进行比较:
git diff master p29
如果您使用的是git GUI客户端或用户友好的difftool,则可以通过一种更加愉悦的方式查看两个分支之间的差异。
审核完成后,您可以通过以下方式删除p29
:
git branch -D p29
p29
可以是您喜欢的任何其他名称,只要它是有效的引用名称即可。
有时,pull请求来自fork,要获取它们,您必须像这样执行,提供fork的url。
git checkout master
git checkout -b feature1
git pull 'https://github.com/user/username/fork.git' feature1
如果一切顺利,您的'feature1'分支将进行所有更改,因此现在您可以
git diff master
要查看master和pull请求之间的区别,如果喜欢,可以将其合并到master中,如下所示:
git checkout master
git merge feature1
就是这样...希望对您有所帮助
通常,考虑到您有一个master分支和一个需要合并到master的功能分支,最好使用以下步骤:
git merge --no-ff master
。 没有快进可以确保您不会丢失日志中的单个提交。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.