这个问题在这里已有答案:
我的问题主要依赖于使用Git。我目前正在使用Elastalert官方GitHub仓库的代码,但他们还没有添加对本周刚刚发布的Elasticsearch版本7的支持。我看到另一个用户添加了他的代码来解决问题和there is a pull request in GitHub here。有没有办法可以从pull请求中克隆此用户的代码而不是Elastalert存储库中的官方代码?在这种情况下,官方存储库不适用于我们的Elasticsearch版本,我不想等待Yelp批准拉取请求。我是使用Git和GitHub的新手,所以基本的解释会很棒。
拉取请求是一个分支。 Github以refs/pull/${number}/head
的格式命名这种分支。您感兴趣的拉动请求的数量是2194
,因此它的名字是refs/pull/2194/head
。这种分支不能用作-b
中git 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
上做新的提交。