मैं gitHub के साथ gitHub पुल अनुरोध को कैसे देख सकता हूं?




pull-request git-checkout (9)

Bitbucket के लिए, आपको pull-requests लिए शब्द pull को बदलने की आवश्यकता है।

सबसे पहले, आप git ls-remote origin कमांड द्वारा पुल अनुरोध URL शैली की पुष्टि कर सकते हैं।

$ git ls-remote origin |grep pull
f3f40f2ca9509368c959b0b13729dc0ae2fbf2ae    refs/pull-requests/1503/from
da4666bd91eabcc6f2c214e0bbd99d543d94767e    refs/pull-requests/1503/merge
...

जैसा कि आप देख सकते हैं, यह refs/pull-requests/1503/from refs/pull/1503/from बजाय से refs/pull/1503/from

तब आप किसी भी उत्तर की कमांड का उपयोग कर सकते हैं।

मैं पहले से बनाए गए पुल अनुरोध (GitHub वेब इंटरफ़ेस के माध्यम से बनाया गया) की जांच करना चाहता हूं। मैंने अलग-अलग स्थानों पर खोज की और पाया कि एक रिफ / पुल या रिफ / पुल / पीआर कहां है

लेकिन जब मैं fetch = +refs/pull/*/head:refs/remotes/origin/pr/* जोड़ता हूं fetch = +refs/pull/*/head:refs/remotes/origin/pr/* git config फाइल में और एक git लाने के लिए

मैं क्या गलत कर रहा हूँ? GitHub को स्वतः ही पुल / xyz सामान बनाना चाहिए, या क्या मुझे कुछ कॉन्फ़िगर करना होगा?


अगर उनके कमिटमेंट उनके फोर्क्ड रेपो की मास्टर ब्रांच पर हैं, तो आप निम्नलिखित कार्य कर सकते हैं।

git fetch [email protected]:<repo_owner>/<repo_name>.git
git checkout FETCH_HEAD

आप .git/config से एक नया नियम लिखने के लिए रिपॉजिटरी से पुल अनुरोध लाने के लिए git config कमांड का उपयोग कर सकते हैं:

$ git config --local --add remote.origin.fetch '+refs/pull/*/head:refs/remotes/origin/pr/*'

और फिर बस:

$ git fetch origin
Fetching origin
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 4 (delta 2), reused 4 (delta 2), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://github.com/container-images/memcached
 * [new ref]         refs/pull/2/head -> origin/pr/2
 * [new ref]         refs/pull/3/head -> origin/pr/3

आपको एक शाखा का नाम दिए बिना यह प्राप्त होगा:

git pull origin pull/939/head

मुझे अपनी मशीन पर एक विशिष्ट पुल अनुरोध कैसे मिलेगा?


मैं स्थानीय शाखा बनाए बिना और HEAD अलग राज्य में रहना चाहता हूं। यह मुझे जल्दी से अनावश्यक स्थानीय शाखाओं के साथ अपने स्थानीय मशीन को प्रदूषित किए बिना पुल अनुरोध की जांच करने की अनुमति देता है।

git fetch upstream pull/ID/head && git checkout FETCH_HEAD

जहाँ ID एक पुल अनुरोध ID है और upstream जहाँ मूल पुल अनुरोध बनाया गया है (यह origin हो सकता origin , उदाहरण के लिए)।

मुझे उम्मीद है यह मदद करेगा।


मैं हब, github से एक टूल का उपयोग कर रहा हूं: https://github.com/github/hub

हब के साथ स्थानीय स्तर पर एक पुल अनुरोध की जाँच आसान है:

hub checkout https://github.com/owner/repo/pull/1234
or
hub pr checkout 1234

यदि आप "जीथब फोर्क" वर्कफ़्लो का अनुसरण कर रहे हैं, जहाँ आप एक कांटा बनाते हैं और रिमोट अपस्ट्रीम रेपो जोड़ते हैं:

14:47 $ git remote -v
origin  [email protected]:<yourname>/<repo_name>.git (fetch)
origin  [email protected]:<yourname>/<repo_name>.git (push)
upstream        [email protected]:<repo_owrer>/<repo_name>.git (fetch)
upstream        [email protected]:<repo_owner>/<repo_name>.git (push)

अपनी वर्तमान शाखा में जाने के लिए आपकी आज्ञा निम्न होगी:

git pull upstream pull/<pull_request_number>/head

एक नई शाखा में जाने के लिए कोड जैसा दिखेगा:

git fetch upstream pull/<pull_request_number>/head:newbranch

यदि आप Github.com का उपयोग कर रहे हैं, तो "पुल अनुरोध" पर जाएं, प्रासंगिक पुल अनुरोध पर क्लिक करें, और फिर "कमांड लाइन निर्देश" लिंक पर क्लिक करें:


यह वर्णन करता है कि जब आप एक गॉच लाते हैं तो क्या खुशी मिलती है:

जाहिर है, अपने प्रोजेक्ट के URL से मिलान करने के लिए github url को बदलें। यह इस तरह दिखता है:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = [email protected]:joyent/node.git
    fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

अब सभी पुल अनुरोधों को प्राप्त करें:

$ git fetch origin
From github.com:joyent/node
 * [new ref]         refs/pull/1000/head -> origin/pr/1000
 * [new ref]         refs/pull/1002/head -> origin/pr/1002
 * [new ref]         refs/pull/1004/head -> origin/pr/1004
 * [new ref]         refs/pull/1009/head -> origin/pr/1009
...

एक विशेष पुल अनुरोध की जांच करने के लिए:

$ git checkout pr/999
Branch pr/999 set up to track remote branch pr/999 from origin.
Switched to a new branch 'pr/999'

आपके पास उस कार्य को स्वचालित करने के लिए 259 में विभिन्न स्क्रिप्ट सूचीबद्ध हैं
git-extras प्रोजेक्ट कमांड git-pr का प्रस्ताव रखता है ( PR 262 में लागू)

git-pr (1) - स्थानीय रूप से पुल अनुरोध की जाँच करता है

SYNOPSIS

git-pr <number> [<remote>]
git-pr clean

विवरण

GitHub पुल अनुरोध संख्या के आधार पर एक स्थानीय शाखा बनाता है, और बाद में उस शाखा पर स्विच करता है।

से लाने के लिए रिमोट का नाम। origin लिए चूक।

उदाहरण

यह origin से पुल अनुरोध 226 जाँच करता है:

$ git pr 226

remote: Counting objects: 12, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 12 (delta 3), reused 9 (delta 3)
Unpacking objects: 100% (12/12), done.
From https://github.com/visionmedia/git-extras
  * [new ref] refs/pull/226/head -> pr/226
Switched to branch 'pr/226'





git-checkout