একক প্রতিশ্রুতি একাধিক বিকাশকারীকে কীভাবে দান করবেন?


120

কাজের সাথে পরিচিত সমস্ত সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলি হ'ল প্রতিটি প্রতিশ্রুতি একক বিকাশকারীকে দায়ী করা হয়। অ্যাগিল ইঞ্জিনিয়ারিংয়ের উত্থান, এবং বিশেষত জুটি প্রোগ্রামিং এমন একটি পরিস্থিতির দিকে নিয়ে যায় যেখানে দুটি বিকাশকারী একই কাজটিতে গুরুত্বপূর্ণ অবদান রেখেছিল, উদাহরণস্বরূপ একটি বাগ ফিক্স।

কাজের পরিবেশে এট্রিবিউশনের বিষয়টি খুব বেশি বড় হবে না যেহেতু প্রকল্প পরিচালকরা যে কাজগুলি করছেন সে সম্পর্কে সচেতন হবেন, তবে যদি দুটি ওপেন সোর্স অবদানকারীরা জুটি বেঁধে কিছু কোড নির্ধারণ করার সিদ্ধান্ত নেয় তবে কী হবে একটি নির্দিষ্ট প্রকল্পে যার কোনও ধারণা নেই তারা একসাথে কাজ করছেন। গিটের মতো সংস্করণ নিয়ন্ত্রণ ব্যবস্থার জন্য কোনও বিশেষ প্যাচকে একাধিক বিকাশকারীকে দায়ী করার কোনও উপায় আছে কি?


10
প্রতিটি সংস্করণ নিয়ন্ত্রণ সিস্টেমের জন্য এটি বিভক্ত করা উচিত।
সিরো সান্তিলি 郝海东 冠状 病 六四 事件 法轮功

উত্তর:


63
Commit title

Commit body

Co-authored-by: name <additional-dev-1@example.com>
Co-authored-by: name <additional-dev-2@example.com>

এই পদ্ধতির সাথে একটি সমস্যা হ'ল আপনি এই গোষ্ঠী ডেভসের জন্য একটি স্বাক্ষরিত কী তৈরি করতে পারবেন না, সুতরাং আপনি কোনও তালিকায় কাজ না করলেও আপনি মূলত এই তালিকায় কাউকে যুক্ত করতে পারেন এবং গিথুব এটিকে যেমন আচরণ করবে তেমন আচরণ করবে। তবে, বেশিরভাগ ক্ষেত্রে এটি কোনও সমস্যা হওয়া উচিত নয়।

যেমন Co-authored-by: Linus Torvalds <torvalds@linux-foundation.org>

সাধারণ লেখক বা স্বাক্ষরকারী দলগুলির (পুরানো পদ্ধতি) দিয়ে আপনি দেখতে পাবেন এটি স্বাক্ষরিত নয় এবং আপনি জানেন যে আপনি প্রতিশ্রুতিতে বিশ্বাস করতে পারেন না। তবে সহ-লেখকদের উপর সই করার কোনও প্রক্রিয়া নেই।


বেশিরভাগ পুরানো উত্তর:

একটি সমাধান জুটির জন্য একটি নাম সেট করা হবে:

git config user.name "Chris Wilson and John Smith"

অন্যান্য অস্থায়ী সমাধানগুলির সাথে সম্পর্কিত বাগের প্রতিবেদনটি এখানে দেওয়া হয়েছে:

বাগ গিট-কোর: গিটের প্রতিশ্রুতিবদ্ধ হওয়ার জন্য একাধিক লেখককে সমর্থন করা উচিত


1
আপনি যদি সেই ব্যক্তির ইমেল ঠিকানা না জানেন তবে কী হবে? গিটহাবের ব্যবহারকারীর নাম ইত্যাদি সংযুক্ত করার কোনও উপায়?
অ্যারন ফ্রেঙ্ক

যদি তারা পূর্বের প্রতিশ্রুতি দেয় তবে আপনি তা পরীক্ষা করে দেখতে পারেন:git show <COMMIT_ID> --format=email
গেরি

2
এটি ইতিমধ্যে গিটল্যাব-এ কাজ করছে বলে মনে হচ্ছে ( gitlab.com/gitlab-org/gitlab-foss/ جهاز_requests/17919 দেখুন )
মিয়োগর্ডো

67

একটি গিট কনভেনশন হ'ল প্রতিশ্রুতি বার্তা ( গিট কার্নেল: ওপেনস্ট্যাক কমিট ম্যাসেজগুলি উল্লেখ করে ম্যাসেজ কনভেনশনগুলি কমিট করুন ) শেষে সহ-লেখক-দ্বারা ব্যবহার করা । এই হল সমাধান এক উপর Git কোর বাগ সংযুক্ত গেরি এর উত্তর

Co-authored-by: Some One <some.one@example.foo>

৫ মে, ২০১০-তে এই মন্তব্যে জোশ ট্রিপলেট গিটের সাথে সংশ্লিষ্ট সমর্থন বাস্তবায়নেরও পরামর্শ দিয়েছেন।

যেমন লোপিস একটি মন্তব্যে ইঙ্গিত করেছেন, গিটহাব তাদের জানুয়ারী 29, 2018 এ তাদের ব্লগে এই সমর্থনটির ঘোষণা করেছেন: সহ-লেখকদের ( বিবরণ ) সাথে একসাথে প্রতিশ্রুতিবদ্ধ


8
এটি এখন গিটহাব দ্বারা সমর্থিত
llrs

@ ললোপিস সবেমাত্র ব্লগ পোস্টটি দেখে আমার উত্তর আপডেট করতে এখানে এসেছিল। কারও দ্রুত ছিল দেখে ভাল
লাগল

আমি Git প্লাগইন সহজে পরিচালনা করা একটি সহজ লিখেছিলেন এই কো-রচনা বাই ট্রেলার স্বয়ংক্রিয়ভাবে: github.com/cac04/git-pair
সি

এই পদ্ধতির মত দেখতে একটি কুলডেজ (সিএফ । বাজারের রাস্তা )। এবং এইভাবে একটি প্রধান লেখক রয়েছে, সহ-লেখকরা কেবল একটি সংযোজন, যদি আমি এটি সঠিকভাবে বুঝতে পারি।
রুসলান

28

বাজারের জন্য:

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

এই নামগুলি কমিটরের নাম থেকে আলাদা করে লগে প্রদর্শিত হবে।


20

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
user.email=pair+jsusser+sam@pivotallabs.com

তোমার জন্য.


13

গিট কমিট authorএবং committer[১] এর মধ্যে পার্থক্য করে । আপনি এটিকে একটি চারপাশের হিসাবে ব্যবহার করতে পারেন, যেমন: নিজেকে committerএবং আপনার সহ-লেখক হিসাবে নিজেকে স্বাক্ষর করুন author:

GIT_COMMITTER_NAME='a' GIT_COMMITTER_EMAIL='a@a' git commit --author 'b <b@b>'

এইভাবে, আপনি এবং আপনার সহ-লেখক উভয়ই গিট ইতিহাসে রেকর্ড করা হবে। দৌড়ানো git log --format=fuller, আপনাকে এরকম কিছু দেবে:

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

    Test commit.

[1] গিটে লেখক এবং প্রতিশ্রুতিবদ্ধ মধ্যে পার্থক্য?


4

বিকল্পভাবে, গিটহাবের উপর একটি ওপেন সোর্স প্রকল্প রয়েছে , যা আমি একটি অবদানকারী যা কমান্ড লাইন থেকে এটি করার জন্য একটি ভাল উপায় সরবরাহ করে। এই প্রকল্পটি আপনাকে সহ-অভিযুক্ত কমিটস তৈরি করতে একটি উপকরণ সেট করতে সহায়তা করে:

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

এই পদ্ধতির ব্যবহার করে, আপনি গ্রাফিকাল ইন্টারফেস ছাড়াই সহ-লেখক কমিটগুলি তৈরি করতে সক্ষম।


5
আমি যা দেখতে পাচ্ছি তা থেকে, এটি একটি গিট ওরফে যা "সহ-রচয়িতা দ্বারা যুক্ত:" এবং "সহ-লেখক <co-author-email>" কমিট বার্তার শেষে রয়েছে।
করিম

3

আমরা একটি সম্মেলন হিসাবে প্রতিটি প্রতিশ্রুতি বার্তা আমাদের নাম যুক্ত করুন যেমন: Implemented cool feature <Aneesh | Hiren>


4
এটি পৃথক উত্তরেCo-Authored-By আমি উল্লিখিত গিট কনভেনশনের অনুরূপ
23


1

সহ-লেখকের বেশিরভাগ সরঞ্জাম স্বয়ংক্রিয়ায়ণ সমর্থন করে না। পাইগন -3 এ লিখিত গিট-কোকো চেষ্টা করতে পারেন (আমি বিকাশকারী)। git-cocoস্বতঃপূরণ এবং স্বতঃ-পরামর্শ সমর্থন করে। এখানে নমুনা লেখকদের একটি স্ন্যাপশট স্বয়ংক্রিয়ভাবে সম্পূর্ণ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.