git एकाधिक डेवलपर्स को एक ही प्रतिबद्धता कैसे दी जाए?




svn version-control (7)

जिस तरह से मैं काम से परिचित हूं सभी संस्करण नियंत्रण प्रणाली यह है कि प्रत्येक प्रतिबद्धता को एक डेवलपर को जिम्मेदार ठहराया जाता है। Agile इंजीनियरिंग, और विशेष रूप से जोड़ी प्रोग्रामिंग का उदय, एक ऐसी स्थिति का कारण बन गया है जहां दो डेवलपर्स ने एक ही कार्य में महत्वपूर्ण योगदान दिया है, उदाहरण के लिए एक बग फिक्स।

एट्रिब्यूशन का मुद्दा काम के माहौल में एक बड़ा सौदा नहीं होगा क्योंकि प्रोजेक्ट मैनेजर जोड़े के काम के बारे में जागरूक होगा, लेकिन इसके बारे में क्या होगा कि दो ओपन सोर्स योगदानकर्ता कुछ कोड जोड़ने और पुश करने का फैसला करते हैं एक विशेष परियोजना के लिए जिसे पता नहीं है कि वे एक साथ काम कर रहे हैं। क्या संस्करण नियंत्रण प्रणाली के लिए कोई तरीका है जैसे गिट कई डेवलपर्स को एक विशेष पैच विशेषता है?


मुझे लगता है कि गिट में ऐसी सुविधा नहीं है। हालांकि, गिट एक प्रतिबद्ध के author और committer [1] के बीच अंतर करता है। आप इसे एक कार्य के रूप में उपयोग कर सकते हैं, उदाहरण के लिए खुद को committer और लेखक के रूप में अपने सह-लेखक के रूप में साइन करें:

GIT_COMMITTER_NAME='a' GIT_COMMITTER_EMAIL='[email protected]' git commit --author 'b <[email protected]>'

इस तरह, आप और आपके सह-लेखक दोनों गिट इतिहास में दर्ज किए जाएंगे। रनिंग git log --format=fuller , आपको कुछ ऐसा देगा:

commit 22ef837878854ca2ecda72428834fcbcad6043a2
Author:     b <[email protected]>
AuthorDate: Tue Apr 12 06:53:41 2016 +0100
Commit:     a <[email protected]>
CommitDate: Tue Apr 12 09:18:53 2016 +0000

    Test commit.

[1] गिट में लेखक और कमिटर के बीच अंतर?


एक गिट सम्मेलन सह-लेखक का उपयोग करना है - प्रतिबद्ध संदेश के अंत में ( गिट कर्नेल: कमिट संदेश संदेश , ओपनस्टैक कमिट संदेश का जिक्र करते हुए)। यह गेरी के जवाब में जुड़े गिट-कोर बग के समाधानों में से एक है

Co-authored-by: Some One <[email protected]>

5 मई, 2010 को उस टिप्पणी में, जोश ट्रिपलेट भी गिट में इसी तरह के समर्थन को लागू करने का सुझाव देता है।

चूंकि Llopis ने एक टिप्पणी में बताया, Llopis ने 2 9 जनवरी, 2018 को अपने ब्लॉग पर इसके लिए समर्थन की घोषणा की: सह-लेखकों ( details ) के साथ मिलकर काम करें


बाजार के लिए:

bzr commit --author Joe --author Alice --author Bob

उन नामों को कमेंट नाम से लॉग में दिखाया जाएगा।


वैकल्पिक रूप से, गिटहब पर एक ओपन सोर्स प्रोजेक्ट है जो कमांड लाइन से इसे करने का एक अच्छा तरीका प्रदान करता है। यह प्रोजेक्ट आपको निम्नानुसार सह-निर्मित काम करने के लिए उपनाम सेट करने में सहायता करता है:

$ git co-commit -m "Commit message" --co "co-author <co-author-email>"

इस दृष्टिकोण का उपयोग करके, आप ग्राफिकल इंटरफेस के बिना सह-लेखक काम करने में सक्षम हैं।


हम एक सम्मेलन के रूप में अंत में प्रत्येक प्रतिबद्ध संदेश में हमारे नाम जोड़ते हैं उदाहरण: Implemented cool feature <Aneesh | Hiren> Implemented cool feature <Aneesh | Hiren>


Git-जोड़ी

https://github.com/pivotal/git_scripts#git-pair

पिटॉटल से गिट जोड़ी प्रोग्रामिंग एट्रिब्यूशन स्वचालित करने के लिए यह सरल लिपि।

आप एक .pairs फ़ाइल बनाते हैं जैसे:

# .pairs - configuration for 'git pair'
pairs:
  # <initials>: <Firstname> <Lastname>[; <email-id>]
  eh: Edward Hieatt
  js: Josh Susser; jsusser
  sf: Serguei Filimonov; serguei
email:
  prefix: pair
  domain: pivotallabs.com
  # no_solo_prefix: true
#global: true

और फिर:

git pair sp js

सेट:

user.name=Josh Susser & Sam Pierson
[email protected]

तुम्हारे लिए।


गिट-मोब आज़माएं , हमने सह-लेखकों को काम करने के लिए जिम्मेदार ठहराया है।

उदाहरण के लिए

git mob <initials of co-authors>
git commit
git solo






bazaar