mirror of
https://github.com/LucasVbr/first-contributions.git
synced 2026-05-14 01:31:50 +00:00
Fix GitHub permission error for first-time contribution
- Add Bengali translations for Git configuration and permission error resolution - Encountered 403 permission denied error when pushing to original repository - Fixed by changing remote URL to point to personal fork using git remote set-url - Successfully pushed branch to personal fork - Documented workflow for proper open source contributions
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# গিট কনফিগারেশন
|
||||
|
||||
প্রথমবারের মতো যখন আপনি `commit` করার চেষ্টা করবেন, তখন এই ধরনের বার্তা দেখতে পাবেন:
|
||||
|
||||
```bash
|
||||
$ git commit
|
||||
*** Please tell me who you are.
|
||||
|
||||
Run
|
||||
|
||||
git config --global user.email "you@example.com"
|
||||
git config --global user.name "Your Name"
|
||||
|
||||
to set your account's default identity.
|
||||
Omit --global to set the identity only in this repository.
|
||||
```
|
||||
|
||||
একটি `commit` তৈরি করতে গিটকে জানতে হবে যে এর লেখক কে। সহযোগী কাজের ক্ষেত্রে, প্রকল্পের বিভিন্ন অংশের পরিবর্তন করেছেন কে এবং কবে, তা জানা খুবই গুরুত্বপূর্ণ। তাই গিটে প্রতিটি `commit`-এর সাথে ব্যবহারকারীর নাম এবং ইমেল ঠিকানা সংযুক্ত করা হয়।
|
||||
|
||||
এখানে কিছু উপায় আছে যার মাধ্যমে আপনি আপনার ইমেল এবং নাম `git commit` কমান্ডের সাথে যুক্ত করতে পারেন।
|
||||
|
||||
### গ্লোবাল কনফিগারেশন
|
||||
|
||||
গ্লোবাল কনফিগারেশনে সংরক্ষিত তথ্য সমস্ত গিট রিপোজিটরিতে প্রযোজ্য। এটি হল সবচেয়ে ব্যবহৃত পদ্ধতি।
|
||||
|
||||
গ্লোবাল কনফিগারেশনে কিছু সেট করতে, আপনি `config` কমান্ডটি এভাবে ব্যবহার করতে পারেন:
|
||||
|
||||
```bash
|
||||
$ git config --global <variable name> <value>
|
||||
```
|
||||
|
||||
ব্যবহারকারীর তথ্য সেট করার জন্য, এটি এভাবে হবে:
|
||||
|
||||
```bash
|
||||
$ git config --global user.email "you@example.com"
|
||||
$ git config --global user.name "Your Name"
|
||||
```
|
||||
|
||||
### রিপোজিটরি স্তরের কনফিগারেশন
|
||||
|
||||
এই ধরনের কনফিগারেশন শুধুমাত্র আপনার বর্তমান রিপোজিটরিতে প্রযোজ্য। যদি আপনি কোনও নির্দিষ্ট রিপোজিটরিতে কাজ করতে চান (উদাহরণস্বরূপ, কোম্পানির প্রকল্পে), তবে এই পদ্ধতি ব্যবহার করতে পারেন।
|
||||
|
||||
রিপোজিটরি স্তরের কনফিগারেশন সেট করতে, `--global` বাদ দিয়ে `config` কমান্ডটি ব্যবহার করুন:
|
||||
|
||||
```bash
|
||||
$ git config <variable name> <value>
|
||||
```
|
||||
|
||||
ব্যবহারকারীর তথ্য সেট করার জন্য, এটি এভাবে হবে:
|
||||
|
||||
```bash
|
||||
$ git config user.email "you@alternate.com"
|
||||
$ git config user.name "Your Name"
|
||||
```
|
||||
|
||||
### কমান্ড লাইনে কনফিগারেশন
|
||||
|
||||
এই ধরনের কনফিগারেশন শুধুমাত্র একটি নির্দিষ্ট কমান্ডের জন্য প্রযোজ্য। সব গিট কমান্ডে `-c` ব্যবহার করে আপনি কনফিগারেশন পরামিতি সেট করতে পারেন।
|
||||
|
||||
একটি কমান্ডের জন্য কনফিগারেশন পরিবর্তন করতে, গিট কমান্ডটি এভাবে ব্যবহার করুন:
|
||||
|
||||
```bash
|
||||
$ git -c <variable-1>=<value> -c <variable-2>=<value> <command>
|
||||
```
|
||||
|
||||
আমাদের ক্ষেত্রে, `commit` কমান্ডটি এভাবে হবে:
|
||||
|
||||
```bash
|
||||
git -c user.name='Your Name' -c user.email='you@example.com' commit -m "Your commit message"
|
||||
```
|
||||
|
||||
### অগ্রাধিকারের ক্রম
|
||||
|
||||
এই তিনটি কনফিগারেশন পদ্ধতির মধ্যে অগ্রাধিকারের ক্রম হল: `কমান্ড লাইন > রিপোজিটরি > গ্লোবাল`। এর মানে হল যদি কোনও পরিবর্তনশীল গ্লোবাল এবং কমান্ড লাইনে উভয় ক্ষেত্রেই সেট করা থাকে, তবে কমান্ড লাইনের মান ব্যবহার করা হবে।
|
||||
|
||||
## শুধু ব্যবহারকারীর তথ্য নয়
|
||||
|
||||
এখন পর্যন্ত আমরা গিট কনফিগারেশন নিয়ে আলোচনা করেছি শুধু ব্যবহারকারীর তথ্যের ক্ষেত্রে। কিন্তু গিট আরও অনেক পরামিতি কনফিগার করতে দেয়। এখানে কিছু উল্লেখযোগ্য উদাহরণ:
|
||||
|
||||
1. `core.editor` - কমিট মেসেজ এডিট করার জন্য ব্যবহৃত টেক্সট এডিটর,
|
||||
2. `commit.template` - কমিটের জন্য প্রাথমিক টেমপ্লেট ফাইল,
|
||||
3. `color.ui` - টার্মিনালে গিট মেসেজে রঙিন ফন্ট ব্যবহার করা যাবে কিনা তা নির্ধারণ করে।
|
||||
|
||||
আরও বিস্তারিত জানতে [git-scm.com](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) দেখুন।
|
||||
@@ -0,0 +1,58 @@
|
||||
# ওপেন সোর্স অবদানের জন্য Git অনুমতি ত্রুটি সমাধান
|
||||
|
||||
## সমস্যা
|
||||
|
||||
আমি "first-contributions" রিপোজিটরিতে অবদান রাখার চেষ্টা করার সময় একটি অনুমতি ত্রুটি পেয়েছিলাম। আমি নতুন ব্রাঞ্চ তৈরি করে এবং পরিবর্তনগুলি পুশ করার চেষ্টা করার পর:
|
||||
|
||||
```bash
|
||||
$ git checkout -b fahimar_oss_YYYY
|
||||
Switched to a new branch 'fahimar_oss_YYYY'
|
||||
|
||||
$ git push origin fahimar_oss_YYYY
|
||||
remote: Permission to firstcontributions/first-contributions.git denied to fahimar.
|
||||
fatal: unable to access 'https://github.com/firstcontributions/first-contributions.git/': The requested URL returned error: 403
|
||||
```
|
||||
|
||||
সমস্যাটি ছিল যে, আমি মূল রিপোজিটরিটি সরাসরি ক্লোন করেছিলাম এবং সেখানে পুশ করার চেষ্টা করেছিলাম। একজন বাইরের অবদানকারী হিসেবে, আমার মূল রিপোজিটরিতে লেখার অনুমতি নেই।
|
||||
|
||||
## সমাধান
|
||||
|
||||
আমি নিম্নলিখিত উপায়ে এই সমস্যাটি সমাধান করেছি:
|
||||
|
||||
1. আমার রিমোট URL পরিবর্তন করে এটিকে আমার ব্যক্তিগত ফর্কে পয়েন্ট করানো:
|
||||
|
||||
```bash
|
||||
$ git remote set-url origin https://github.com/yourname/first-contributions.git
|
||||
```
|
||||
|
||||
2. রিমোট ঠিকভাবে আপডেট হয়েছে কিনা তা যাচাই করা:
|
||||
|
||||
```bash
|
||||
$ git remote -v
|
||||
origin https://github.com/yourname/first-contributions.git (fetch)
|
||||
origin https://github.com/yourname/first-contributions.git (push)
|
||||
```
|
||||
|
||||
3. সফলভাবে আমার ফর্কে পুশ করা:
|
||||
|
||||
```bash
|
||||
$ git push origin fahimar_oss_YYYY
|
||||
```
|
||||
|
||||
4. GitHub আমাকে একটি লিঙ্ক দিয়েছিল যাতে আমি আমার ব্রাঞ্চ থেকে পুল রিকোয়েস্ট তৈরি করতে পারি:
|
||||
```
|
||||
remote: Create a pull request for 'fahimar_oss_YYYY' on GitHub by visiting:
|
||||
remote: https://github.com/fahimar/first-contributions/pull/new/fahimar_oss_YYYY
|
||||
```
|
||||
|
||||
## প্রধান শিক্ষা
|
||||
|
||||
ওপেন সোর্স অবদানের জন্য সঠিক কাজের ধারাবাহিকতা হল:
|
||||
|
||||
1. মূল রিপোজিটরিটি আপনার GitHub অ্যাকাউন্টে ফর্ক করুন
|
||||
2. আপনার ফর্কটি স্থানীয়ভাবে ক্লোন করুন
|
||||
3. একটি নতুন ব্রাঞ্চে পরিবর্তন করুন
|
||||
4. আপনার ফর্কে পুশ করুন
|
||||
5. আপনার ফর্ক থেকে মূল রিপোজিটরিতে পুল রিকোয়েস্ট তৈরি করুন
|
||||
|
||||
যদি আপনি আগে মূল রিপোজিটরি ক্লোন করে থাকেন এবং আপনার ফর্ক না করে থাকেন, তবে উপরে দেখানো মতো রিমোট URL আপডেট করে এটি ঠিক করতে পারেন।
|
||||
Reference in New Issue
Block a user