如何在GitHub上使用来自别人的拉取请求的代码? [重复]

问题描述 投票:0回答:1

我的问题主要依赖于使用Git。我目前正在使用Elastalert官方GitHub仓库的代码,但他们还没有添加对本周刚刚发布的Elasticsearch版本7的支持。我看到另一个用户添加了他的代码来解决问题和there is a pull request in GitHub here。有没有办法可以从pull请求中克隆此用户的代码而不是Elastalert存储库中的官方代码?在这种情况下,官方存储库不适用于我们的Elasticsearch版本,我不想等待Yelp批准拉取请求。我是使用Git和GitHub的新手,所以基本的解释会很棒。

git github
1个回答
1
投票

拉取请求是一个分支。 Github以refs/pull/${number}/head的格式命名这种分支。您感兴趣的拉动请求的数量是2194,因此它的名字是refs/pull/2194/head。这种分支不能用作-bgit clone选项的值,但它可以在git fetch中使用。

# initialize a local repository "foo". If "foo" already exists, "git init foo" is harmless.
git init foo
cd foo

# create a remote "origin". It is optional. If "origin" is occupied, use another name.
git remote add origin https://github.com/Yelp/elastalert.git

# fetch the pull request
git fetch origin refs/pull/2194/head

# if you didn't create the remote "origin"
git fetch https://github.com/Yelp/elastalert.git refs/pull/2194/head

# create a local branch "bar" from this pull request
git checkout -b bar FETCH_HEAD

# if you don't want to keep the history of the pull request
git checkout --orphan bar FETCH_HEAD
git commit

然后你可以在bar上做新的提交。

© www.soinside.com 2019 - 2024. All rights reserved.