GIT ইমেল / বা কেবল ইমেল ছাড়াই পৃথক ব্যবহারকারী হিসাবে প্রতিশ্রুতিবদ্ধ


127

আমি ভিন্ন ব্যবহারকারী হিসাবে কিছু পরিবর্তন করার চেষ্টা করছি, তবে আমার একটি বৈধ ইমেল ঠিকানা নেই, নিম্নলিখিত কমান্ডটি আমার পক্ষে কাজ করছে না:

git commit --author="john doe" -m "some fix"
fatal: No existing author found with 'john doe'

শুধুমাত্র ইমেল ঠিকানা দিয়ে প্রতিশ্রুতি দেওয়ার চেষ্টা করার সময় আমার একই সমস্যা হয়

git commit --author="john@doe.com" -m "some fix"
fatal: No existing author found with 'john@doe.com'

কমিট কমান্ডের জন্য জিআইটি ম্যান পৃষ্ঠাগুলিতে এটি বলে যে আমি এটি ব্যবহার করতে পারি

standard A U Thor <author@example.com> format

--Author বিকল্পের জন্য।

কোথায় এই বিন্যাস সংজ্ঞায়িত করা হয়? এ এবং ইউ কিসের পক্ষে দাঁড়ায়? কেবলমাত্র একটি ব্যবহারকারীর নাম বা কেবলমাত্র একটি ইমেল সহ আমি আলাদা ব্যবহারকারীর জন্য কীভাবে প্রতিশ্রুতিবদ্ধ?


3
এও কোনও কিছুর পক্ষে দাঁড়ায় না, এটি কেবল উদাহরণ: এও থর => আউটর => লেখক । আপনি নিজের নাম হিসাবে যা কিছু নির্দিষ্ট করতে পারেন।
সামি দিনদানে

1
আমি জানি যে এটু থর লেখককে গঠন করেছিলেন, আমি ভাবছিলাম যে বিচ্ছেদের কোনও তাত্পর্য আছে কিনা।
উইলেম ডি'হেসিলার

উত্তর:


142

সর্বনিম্ন প্রয়োজনীয় লেখকের ফর্ম্যাট, যেমনটি এই সূত্রের উত্তরে ইঙ্গিত করা হয়েছে , তা

Name <email>

আপনার ক্ষেত্রে, এর অর্থ আপনি লিখতে চান

git commit --author="Name <email>" -m "whatever"

উইলেম ডি'হ্যাসিলারের মন্তব্য অনুযায়ী, আপনার যদি কোনও ইমেল ঠিকানা না থাকে তবে আপনি এটি ব্যবহার করতে পারেন <>:

git commit --author="Name <>" -m "whatever"

আপনি যে git commitম্যান পেজে লিঙ্ক করেছেন তার লিখিত হিসাবে , আপনি যদি এর চেয়ে কম কিছু সরবরাহ করেন তবে পূর্ববর্তী কমিটগুলি অনুসন্ধান করার জন্য অনুসন্ধানের টোকেন হিসাবে ব্যবহৃত হয়, সেই লেখকের অন্যান্য কমিটগুলি সন্ধান করে।


28
সবেমাত্র পাওয়া গেছে যে আপনার কাছে কোনও ইমেল ঠিকানা না থাকলে আপনি "নাম <>" টাইপ করতে পারেন, স্পষ্টভাবে এটি বগুতে প্রবেশের পরিবর্তে ফাঁকা রাখতে।
উইলেম ডি'হেসিলার

2
আপনি যদি ব্যবহার করতে চান "name <>", এবং git commit --amendপরে, এটি invalid identত্রুটি সহ ব্যর্থ হবে ; তাই না
সান্মই

7
স্পষ্টতই option বিকল্পটি ব্যবহার করার পরেও আপনার গিট কনফিগারেশনে ইউজার.ইমেল এবং ইউজারআরনাম সেট করা দরকার, অন্যথায় গিটের অভিযোগ।
qwertzguy

51

নির্দিষ্ট বিন্যাসটি হ'ল:

git commit --author="John Doe <john@doe.com>" -m "Impersonation is evil." 

1
আপনি যদি তার নামের জন্য প্রতিশ্রুতিবদ্ধ হন তবে কেন এটির জন্য জন ডো এর পাসওয়ার্ডের প্রয়োজন নেই?
নেরেক

3
@ নারেক এই প্রসঙ্গে কি হবে?
পিএমআর

37

দ্য

স্ট্যান্ডার্ড এইউ থোর <লেখক@example.com> ফর্ম্যাট

অনুসরণীয় হিসাবে সংজ্ঞায়িত বলে মনে হচ্ছে: (যতদূর আমি জানি, একেবারে কোনও ওয়্যারেন্টি নেই)

এটু থর = প্রয়োজনীয় ব্যবহারকারীর নাম

  • অক্ষরগুলির বিভাজন সম্ভবত ইঙ্গিত দেয় যে ফাঁকা স্থান অনুমোদিত, এটি প্রাথমিকের মতোও হতে পারে।
  • ব্যবহারকারীর নামটি 1 টি স্থান অনুসরণ করতে হবে, অতিরিক্ত স্থানগুলি কেটে যাবে

<Author@example.com> = email চ্ছিক ইমেল ঠিকানা

  • সর্বদা <> চিহ্নের মধ্যে থাকা উচিত।
  • ইমেল ঠিকানার ফর্ম্যাটটি বৈধ নয়, আপনি যা খুশি তাই প্রবেশ করতে পারেন
  • Ptionচ্ছিক, আপনি <> ব্যবহার করে এটি পরিষ্কারভাবে বাদ দিতে পারেন

আপনি যদি এই সঠিক সিনট্যাক্সটি ব্যবহার না করেন তবে গিটটি বিদ্যমান কমিটগুলির মাধ্যমে অনুসন্ধান করবে এবং আপনার প্রদত্ত স্ট্রিং রয়েছে এমন প্রথম প্রতিশ্রুতি ব্যবহার করবে।

উদাহরণ:

  1. শুধুমাত্র ব্যবহারকারীর নাম

    স্পষ্টভাবে ইমেল ঠিকানা ছাড়ুন:

    git commit --author="John Doe <>" -m "Impersonation is evil."
    
  2. কেবল ইমেল

    প্রযুক্তিগতভাবে এটি সম্ভব নয়। তবে আপনি ব্যবহারকারীর নাম হিসাবে ইমেল ঠিকানা প্রবেশ করতে পারেন এবং স্পষ্টভাবে ইমেল ঠিকানা বাদ দিতে পারেন। এটি খুব দরকারী বলে মনে হচ্ছে না। আমি মনে করি এটি ইমেল ঠিকানা থেকে ব্যবহারকারীর নামটি বের করতে এবং তারপরে এটি ব্যবহারকারীর নাম হিসাবে ব্যবহার করা আরও তাত্পর্যপূর্ণ হবে। তবে আপনার যদি:

    git commit --author="john@doe.com <>" -m "Impersonation is evil." 
    

একটি সংগ্রহস্থলটিকে গিরির থেকে গিটে রূপান্তর করার চেষ্টা করার সময় আমি এতে ছুটে এসেছি। আমি msysgit 1.7.10 এ কমান্ড পরীক্ষা করেছি।


13

শুধু পরিপূরক :

git কমিট --author = "john@doe.com" -m "ছদ্মবেশটি খারাপ" "

কিছু ক্ষেত্রে প্রতিশ্রুতিবদ্ধতা ব্যর্থ হয় এবং আপনাকে নিম্নলিখিত বার্তাটি দেখায়:

*** দয়া করে আমাকে বলুন আপনি কে?

চালান

git config --global user.email "you@example.com" git config --global user.name "আপনার নাম"

আপনার অ্যাকাউন্টের ডিফল্ট পরিচয় সেট করতে। ওমিট - গ্লোবাল কেবল এই সংগ্রহস্থলে পরিচয় সেট করতে।

মারাত্মক: ইমেল ঠিকানাটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে অক্ষম (xxxx পেয়েছে)

সুতরাং কেবল "গিট কনফিগারেশন" চালান, তারপরে "গিট কমিট"


এই আমার প্রয়োজন ছিল। কর্পোরেট কর্পোরেট গিটহাব এবং পাবলিক গিটহাবের জন্য আমার পৃথক ব্যবহারকারীর নাম এবং ইমেল রয়েছে। আমার আমার সর্বজনীন গিটহাব ব্যবহারকারীর নাম এবং ইমেল ব্যবহার করার জন্য আমার বর্তমান রেপো সেট করা দরকার যাতে আমি কোনও ব্যক্তিগত ইমেল প্রকাশ না করেই আমার পরিবর্তনগুলি ঠেকাতে পারি।
টিবিরকুলোসিস

8

বিন্যাস

A U Thor <author@example.com>

কেবল আপনার নির্দিষ্ট করা উচিত মানে

FirstName MiddleName LastName <email@example.com>

মাঝারি এবং শেষ নামগুলি দেখে মনে হচ্ছে alচ্ছিক (ইমেলের আগের অংশটির কোনও কঠোর ফর্ম্যাট নেই)। উদাহরণস্বরূপ, এটি চেষ্টা করুন:

git commit --author="John <john@doe.com>" -m "some fix"

যেমন ডকস বলেছেন:

  --author=<author>
       Override the commit author. Specify an explicit author using the standard 
       A U Thor <author@example.com> format. Otherwise <author> is assumed to 
       be a pattern and is used to search for an existing commit by that author 
       (i.e. rev-list --all -i --author=<author>); the commit author is then copied 
       from the first such commit found.

যদি আপনি এই ফর্ম্যাটটি ব্যবহার না করেন তবে গিট ট্রিটগুলি স্ট্রিংকে একটি প্যাটার্ন হিসাবে সরবরাহ করে এবং অন্যান্য কমিটের লেখকদের মধ্যে মিলে যাওয়া নাম সন্ধান করার চেষ্টা করে।


ফার্স্টনেম মিডলনাম লাস্টনামের মতো কোনও জিনিস নেই । এই দেখুন ।
সামি দিনদানে

3

--authorবিকল্প কাজ করে না:

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

এটি করে:

git -c user.name='A U Thor' -c user.email=author@example.com commit

এটিই আমার পক্ষে কাজ করেছে। ক্রম নোট করুন। git commit -c user.name="j bloggs" -am "message"একটি ত্রুটি দেয়fatal: Option -m cannot be combined with -c/-C/-F
মার্টিন

2

ওপেন গিট ব্যাশ

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

it গিট কনফিগারেশন - গ্লোবাল ইউজার.নাম "নাম পরিবার" নিশ্চিত করুন যে আপনি গিটের ব্যবহারকারীর নামটি সঠিকভাবে সেট করেছেন:

it গিট কনফিগারেশন - গ্লোবাল ইউজারআরনেম

নাম পরিবার

গিট ইমেল সেট করুন:

it গিট কনফিগারেশন - গ্লোবাল ইউজার.ইমেল ইমেইল@foo.com নিশ্চিত করুন যে আপনি গিট ইমেলটি সঠিকভাবে সেট করেছেন:

it গিট কনফিগারেশন - গ্লোবাল ইউজার.ইমেল

email@foo.com


0

এটি আপনি কীভাবে প্রতিশ্রুতি দেন তার উপর নির্ভরশীল।

উদাহরণ স্বরূপ:

git commit -am "Some message"

আপনার ~\.gitconfigব্যবহারকারীর নাম ব্যবহার করবে । অন্য কথায়, আপনি যদি ফাইলটি খোলেন তবে আপনার এমন একটি লাইন দেখতে পাওয়া উচিত যা দেখে মনে হচ্ছে:

[user]
    email = someemail@gmail.com

আপনি যে ইমেলটি পরিবর্তন করতে চান তা সেটাই হবে। যদি আপনি বিটবকেট বা গিথুব ইত্যাদির মাধ্যমে একটি টান অনুরোধ করে থাকেন তবে আপনি যারাই লগ ইন হয়ে থাকবেন।


0

উদ্বেগটি যদি আসল ইমেল ঠিকানাটি লুকিয়ে রাখে তবে একটি বিকল্প ... আপনি যদি গিথুবকে প্রতিশ্রুতিবদ্ধ হন তবে আপনার ব্যবহার করতে পারেন এমন সত্যিকারের ইমেল দরকার নেই<username>@users.noreply.github.com

গিথুব ব্যবহার না করেই বা না, আপনি সম্ভবত প্রথমে আপনার প্রতিশ্রুতি বিবরণ (উইন্ডোজ ব্যবহারের ক্ষেত্রে SET GIT_...) পরিবর্তন করতে চান

GIT_COMMITTER_NAME='username' 
GIT_COMMITTER_EMAIL='username@users.noreply.github.com'

তারপরে লেখককে সেট করুন

git commit --author="username <username@users.noreply.github.com>"

https://help.github.com/articles/keeping-your-email-address-private


অন্যান্য সমস্ত সমাধানের থেকে পৃথক, যখন আপনি প্রাথমিকভাবে user.email/user.name আরম্ভ করেন না তখন এটি কাজ করে।
অ্যান্ডি

-2

ব্যবহারকারী ইমেল এবং নাম সেট করতে টার্মিনাল থেকে এই দুটি কমান্ড চালান

 git config --global user.email "you@example.com" 

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