फोर्किंग के बिना अनुरोध खींचो?


105

यहाँ " GitHub में अन्य कोड में योगदान कैसे करूँ " विषय से कोड योगदान के चरण हैं ?

  1. परियोजना को कांटा
  2. एक या एक से अधिक अच्छी तरह से टिप्पणी करें और रिपॉजिटरी को साफ करें। यदि आप एक से अधिक भाग या सुविधा को संशोधित कर रहे हैं, तो आप यहां एक नई शाखा बना सकते हैं।
  3. गिटहब के वेब इंटरफेस में एक पुल अनुरोध करें।

क्या रेपो को फोर्क किए बिना पुल अनुरोध करना संभव है?

मेरे खाते में 20 से अधिक रिपोज देखने के लिए यह काफी दुखद है जो कुछ पुल अनुरोधों के लिए कांटे गए थे। उनके पास तब और शून्य सितारों / अनुयायियों की कोई गतिविधि नहीं है। लगता है कि मैं काले दिन के लिए किसी के कोड की नकल कर रहा हूं।


आपको क्यों चाहिए होगा?

3
अच्छा प्रश्न। मूल के साथ उन 20 रिपोज को अप-टू-डेट प्राप्त करना भी अस्पष्ट है (या उन्हें हटा दें)।
कोरी एलिक्स

जवाबों:


95

यदि आपके पास उस भंडार पर शाखाएँ बनाने के लिए पहुँच नहीं है, तो फोर्किंग के बिना पुल अनुरोध बनाने का कोई तरीका नहीं है


8
क्या आप बता सकते हैं कि यदि आप उस रिपॉजिटरी की शाखाओं तक पहुंच रखते हैं, तो आप एक पुल अनुरोध कैसे बना सकते हैं?
bolinfest

13
GitHub के बारे में एक अच्छा मार्गदर्शक है: help.github.com/articles/creating-a-pull-request
रयान बिग

2
बस कुछ के लिए एक अनुस्मारक जो सभी के लिए स्पष्ट नहीं हो सकता है। आपको अपने योगदान देने वाले प्रत्येक भंडार के लिए एक कांटा बनाने की आवश्यकता है ... लेकिन आपके कांटे में शाखाएं बनाने से आपको एक से अधिक पीआर पर एक बार अपस्ट्रीम रेपो के लिए काम करने की अनुमति मिलती है। 20 पीआर के साथ योगदान करने के लिए आपको एक ही रेपो से 20 कांटे की आवश्यकता नहीं है।
जूलियोएचएम

24

एक बार जब आपके पुल अनुरोध स्वीकार कर लिए जाते हैं, तो आप सुरक्षित रूप से रेपो को हटा सकते हैं

बाद में, मूल अपस्ट्रीम रेपो से सीधे क्लोन करें।

यदि आपके पास बनाने के लिए अन्य पुल अनुरोध हैं, तो आपको उन्हें अपनी स्वयं की शाखा में बनाना चाहिए, जिसका अर्थ है कि आप स्वीकृत पुल अनुरोध को प्रबंधित करने के लिए आपके द्वारा सुरक्षित रूप से हटाए गए शाखा को हटा सकते हैं (जैसा कि " मेरा पुल अनुरोध में विलय कर दिया गया है, क्या करना है" अगला? ")


2
FYI करें, github ने हाल ही में पुल अनुरोध मर्ज को हटाने के लिए मर्ज पुल अनुरोधों को आसान (और सहज) बनाने के लिए एक बटन जोड़ा है: github.com/blog/1335-tidying-up-after-pull-requests
डेविड एम '

10

परिभाषा के अनुसार, एक पुल अनुरोध में एक कांटा शामिल होता है जब तक कि आप गंतव्य भंडार तक पहुंच नहीं बनाते हैं। आप कुछ चीजें कर सकते हैं, हालांकि:

  1. यदि आपके पास पहुंच है, तो एक शाखा बनाएं और नई शाखा के खिलाफ अपना अनुरोध करें।
  2. एक मुद्दे के शरीर में अपना पैच पोस्ट करें। यह वास्तव में GitHub तरीका नहीं है, लेकिन यह निश्चित रूप से काम करता है।
  3. एक रिपॉजिटरी को फोर्क करें, एक पुल अनुरोध बनाएं और फिर एक बार पुल अनुरोध को मर्ज या अस्वीकृत करने के लिए कांटा हटा दें।

यदि आप केवल उन रिपॉजिटरी को रखने से बचने की कोशिश कर रहे हैं जो आप सक्रिय रूप से उपयोग नहीं कर रहे हैं, तो मैं व्यक्तिगत रूप से # 3 विकल्प सुझाता हूं। यह आपके डैशबोर्ड को बंद किए बिना स्वीकृत गिटहब वर्कफ़्लो से चिपक जाता है।


संभवतः यहाँ सबसे अच्छा लगाया गया है: 4. इन पुल-अनुरोध-और-भूल परिदृश्यों से निपटने के लिए सिर्फ एक दूसरा गितुब खाता बनाए रखें। इससे कोई फर्क नहीं पड़ेगा कि उस खाते में 20 निष्क्रिय प्रतिनिधि हैं, क्योंकि यह मुख्य खाता नहीं है।
तानीस

7

github साझा रिपोजिटरी मॉडल का समर्थन करता है

शेयर्ड रिपोजिटरी मॉडल निजी परियोजनाओं पर सहयोग करने वाली छोटी टीमों और संगठनों के साथ अधिक प्रचलित है। सभी को एक ही साझा भंडार में पुश एक्सेस की अनुमति दी गई है और विषय शाखाओं का उपयोग परिवर्तनों को अलग करने के लिए किया जाता है।

खींचो अनुरोध फोर्क और पुल मॉडल में विशेष रूप से उपयोगी होते हैं क्योंकि वे आपके कांटे में बदलाव के बारे में परियोजना के रखरखाव को सूचित करने का एक तरीका प्रदान करते हैं। हालांकि, वे साझा रिपॉजिटरी मॉडल में भी उपयोगी हैं, जहां वे मेनलाइन शाखा में विलय होने से पहले परिवर्तन के एक सेट के बारे में कोड समीक्षा और सामान्य चर्चा शुरू करने के लिए उपयोग किए जाते हैं।


5
ध्यान दें कि यह कैसे नहीं समझाता है कि इस मॉडल में पुल अनुरोध कैसे बनाया जाए।
bolinfest

0

आपको अभी भी वन-लाइनर की आवश्यकता है: hub fork;git push -u $GIT_USER HEAD;hub pull-request

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.