গিট কনফিগারেশন (Configuring Git)
Tags: gitgithub, git, github
Published: 2022-09-15 20:27:28

---
title: গিট কনফিগারেশন (Configuring Git)
published: true
date: 2022-06-15 20:48:41 UTC
tags: GitGitHUb,git,GitGitHub,GitHub
canonical_url: https://blog.aldinn.com/configuring-git/?utm_source=rss&utm_medium=rss&utm_campaign=configuring-git
---

 ![Configuring Git](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjYzMCI+PHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgdmFsdWVzPSJyZ2JhKDE1MywxNTMsMTUzLDAuNSk7cmdiYSgxNTMsMTUzLDE1MywwLjEpO3JnYmEoMTUzLDE1MywxNTMsMC41KSIgZHVyPSIycyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+PC9yZWN0Pjwvc3ZnPg==)

প্রথম আমরা গিট ব্যাবহার করার সময় আমাদের কিছু কনফিগারেশন সেটিংস করে নিতে হবে ।

<mark style="background-color:#000000">Settings</mark>

- Name
- Email
- default Editor
- Line Editing 

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIHZhbHVlcz0icmdiYSgxNTMsMTUzLDE1MywwLjUpO3JnYmEoMTUzLDE1MywxNTMsMC4xKTtyZ2JhKDE1MywxNTMsMTUzLDAuNSkiIGR1cj0iMnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvcmVjdD48L3N2Zz4=)

আমাদের নেইম , ইমেইল , ডিফল্ট এডিটর , লাইন এডিটিং এগুলো স্পেসিফাই করে দিতে হবে ।। এগুলো আমরা তিনটি লেভেল এ স্পেসিফাই করব ।

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIHZhbHVlcz0icmdiYSgxNTMsMTUzLDE1MywwLjUpO3JnYmEoMTUzLDE1MywxNTMsMC4xKTtyZ2JhKDE1MywxNTMsMTUzLDAuNSkiIGR1cj0iMnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvcmVjdD48L3N2Zz4=)

প্রথমে আমরা আমরা আমাদের গিট ব্যাশ টার্মিনাল উইন্ডোটি ওপেন করব । তারপর আমরা ইউজার নেইম সেট করার জন্য নিচের কমান্ডটি দিব

```
git config --global user.name "your user name "
```

তারপর আবার ইমেল সেট কররার জন্য । আগের কমান্ডটিতে আমরা ইউজার নেইম কে **“”** আবদ্ধ করেছিলাম বাট ইমেইল এর সময় খেয়াল রাখতে হবে এইখানে কোন **“”** কোটেশন ব্যাবহার করা যাবে নাহ

```
git config --global user.email me@example.com
```

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4MjkiIGhlaWdodD0iMTk3Ij48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiB2YWx1ZXM9InJnYmEoMTUzLDE1MywxNTMsMC41KTtyZ2JhKDE1MywxNTMsMTUzLDAuMSk7cmdiYSgxNTMsMTUzLDE1MywwLjUpIiBkdXI9IjJzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz48L3JlY3Q+PC9zdmc+)

তারপর আমি আমার ডিফল্ট এডিটর হিসেবে ইউজ করব [vscode](https://code.visualstudio.com/ "vscode") আপনি চাইলে আপনার পছন্দমত যেকোন একটি ইউজ করতে পারেন । তবে আমি vscode ইউজ করছি । আমরা আমাদের টার্মিনাল এ পাথ এ আমদের ভিএসকোড শর্টকাট কনফিগার করা রয়েছে ।।

নিচের ভিডিও টির মত **<mark style="background-color:#000000"><code>code</code> </mark>** টাইপ করলেই ভিএস এর কোড এর উইন্ডো ওপেন হবে

<!--[if lt IE 9]><script>document.createElement('video');</script><![endif]--><video id="video-2847-1" width="640" height="360" preload="metadata" controls="controls"><source type="video/mp4" src="https://res.cloudinary.com/aldinn/video/upload/f_auto,q_auto/v1655198448/blog/Untitled-video-Made-with-Clipchamp.mp4?_i=AA&amp;_=1"></source><a href="https://res.cloudinary.com/aldinn/video/upload/f_auto,q_auto/v1655198448/blog/Untitled-video-Made-with-Clipchamp.mp4?_i=AA">https://res.cloudinary.com/aldinn/video/upload/f_auto,q_auto/v1655198448/blog/Untitled-video-Made-with-Clipchamp.mp4?_i=AA</a></video>

যাইহোক এবার আমি ডিফল্ট এডিটর হিসেবে ভিএসকোড কনফিগার করব

এখন টার্মিনালে আমরা এই কমান্ডটি রান কর করব

```
git config --global core.editor "code --wait"
```

<mark style="background-color:#000000">—wait</mark> একটি ফ্লাগ এটির মাধ্যমে আমরা টার্মিনাল উইন্ডোকে বলি যাতে নিউ ভিএসকোড ইন্সটেন্স ওপেন হওয়া পর্যন্ত অপেক্ষা করে ।

আমরা এতক্ষন যত কনফিগারেশন করেছি সব টেক্সট ফাইল হিসেবে সেইভ হয়েছে <mark style="background-color:#000000">.gitconfig</mark> নামক ফাইলে । আমরা আমদের কাস্টমাইজেশনগুলো সেই ফাইল গিয়েও করতে পারি তার জন্য আমাদের টার্মিনালে কমান্ড দিতে হবে

```
git config --global -e
```

এই কমান্ডটি আমাদের মেশিন এর ডিফল্ট এডিটর ওপেন করবে ।

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MjAiIGhlaWdodD0iNDA0Ij48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiB2YWx1ZXM9InJnYmEoMTUzLDE1MywxNTMsMC41KTtyZ2JhKDE1MywxNTMsMTUzLDAuMSk7cmdiYSgxNTMsMTUzLDE1MywwLjUpIiBkdXI9IjJzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz48L3JlY3Q+PC9zdmc+)

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2ODEiIGhlaWdodD0iMzc1Ij48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiB2YWx1ZXM9InJnYmEoMTUzLDE1MywxNTMsMC41KTtyZ2JhKDE1MywxNTMsMTUzLDAuMSk7cmdiYSgxNTMsMTUzLDE1MywwLjUpIiBkdXI9IjJzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz48L3JlY3Q+PC9zdmc+)

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDA1IiBoZWlnaHQ9IjUzMSI+PHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+PGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgdmFsdWVzPSJyZ2JhKDE1MywxNTMsMTUzLDAuNSk7cmdiYSgxNTMsMTUzLDE1MywwLjEpO3JnYmEoMTUzLDE1MywxNTMsMC41KSIgZHVyPSIycyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIC8+PC9yZWN0Pjwvc3ZnPg==)

এডিটরে আমরা অনেক গুলো সেকশন দেখতে পাই যেমন user,credential,safe ইত্যাদি । আমাদের টার্মিনাল আমরা লক্ষ করলে দেখতে পাব

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MTkiIGhlaWdodD0iMjE2Ij48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIj48YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiB2YWx1ZXM9InJnYmEoMTUzLDE1MywxNTMsMC41KTtyZ2JhKDE1MywxNTMsMTUzLDAuMSk7cmdiYSgxNTMsMTUzLDE1MywwLjUpIiBkdXI9IjJzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz48L3JlY3Q+PC9zdmc+)

আমাদের টার্মিনাল আমাদের এডিটরটি ক্লোজ করার জন্য অপেক্ষা করছে । তারপর আমরা ক্লোজ করে টার্মিনাল ফেরত আসব ।

![](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiPjxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIHZhbHVlcz0icmdiYSgxNTMsMTUzLDE1MywwLjUpO3JnYmEoMTUzLDE1MywxNTMsMC4xKTtyZ2JhKDE1MywxNTMsMTUzLDAuNSkiIGR1cj0iMnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPjwvcmVjdD48L3N2Zz4=)

তারপর আমরা <mark style="background-color:#000000">CRLF </mark>কনফিগ করব অর্থ্যাৎ গিট কিভাবে আমাদের end of line কন্ট্রোল করবে তা আমরা কনফিগ করব । যা খুবই ইম্পরট্যান্ট ।উইন্ডোজ মুলত <mark style="background-color:#000000">r (carrige return)</mark> <mark style="background-color:#000000">n(line feed )</mark> এই দুটোই ইন্ডিকেট করে তবে ম্যাক অথবা লিনাক্স এ শুধু মাত্র<mark style="background-color:#000000"> n (line feed)</mark> দিয়ে ইন্ডিকেট করে , সো আমরা যদি লাইন ফিড ঠিক ঠাক মত কনফিগার না করি তাহলে কিছু আজব আজব সমস্যা হতে পারে । । আমি আর <mark style="background-color:#000000">CRLF </mark>নিয়ে তেমন কোন কথা বলছি নাহ পরবর্তীতে হয়ত আমরা এইটা নিয়ে বিস্তারিত জানব আপাতত আপনারা চাইলে <mark style="background-color:#000000">CRLF  </mark>নিয়ে এই [ব্লগটি](https://www.aleksandrhovhannisyan.com/blog/crlf-vs-lf-normalizing-line-endings-in-git/ "ব্লগটি ")পড়তে পারেন আশা করি আপনারা হেল্পফুল হবেন । তাহলে আমরা এই প্রব্লেমটি কিভাবে সল্ভ করব ? এইটা সlভ করার জন্য আমাদের একাট প্রপার্টি কল করতে হবে <mark style="background-color:#000000">core.autocrlf</mark> ।

ধরি দুইজন ব্যাক্তি আলদিন আর তারান্নুম । আলদীন উইন্ডোজ ইউজার আর তারান্নুম ম্যাক ইউজার । তারা দুইজন একই রিপোজেটরিতে কাজ করছে তাহলে তাদের <mark style="background-color:#000000">crlf </mark>হ্যান্ডেলিং নিয়ে সমস্যা হবার সম্ভাবনা রয়েছে কেননা আমরা জানি উইন্ডোজ মেশিনে <mark style="background-color:#000000">crlf </mark>দুটোই কাজ করে আবার ম্যাক অথবা লিনাক্স শুধু <mark style="background-color:#000000">lf </mark>। তাহলে এই সমস্যা কিভাবে সমাধান করা যায় ? তাহলে আলদীন যখন রিপোজেটরিতে তার তার কোড চেকইন করবে তখন গিট <mark style="background-color:#000000">cr</mark> রিমোভ করে দিবে শুধু মাত্র সে lf রাখবে আবার একই ভাবে আলদীন যখন গিট হতে তার কোড চেক আউট করবে গিট তখন আবার তাকে <mark style="background-color:#000000">crlf </mark>যোগ করে দিবে । এই বিহেভিয়ার পাওয়ার জন্য আমাদের <mark style="background-color:#000000">core.autocrlf</mark> প্রপার্টিটি <mark style="background-color:#000000">true</mark> করে দিতে হবে । একইভাবে যখন তারান্নুম যখন কোডটি চেকআউট করবে তখন সে এক্সপেক্ট করবে শুধু মাত্র LF আবার সে যখন কোড চেকইন করবে তখন গিট LF হিসেবে আপলোড করবে । সুতরাং তারান্নুম এর ক্ষেত্রে এই বিহেভিয়র এচিভ করার জন্য আমরা <mark style="background-color:#000000">core.autocrlf</mark> প্রপার্টিকে <mark style="background-color:#000000">input </mark>করে দিব ।

এবার টার্মিনালে নিচের কমান্ডটি দিব

```
# for windoows 
git config --global core.autocrlf true 
# for linux or macuser 
git config --global core.autocrlf input 
```

ধন্যবাদ

The post [গিট কনফিগারেশন (Configuring Git)](https://blog.aldinn.com/configuring-git/) appeared first on [Aldinn Rocks](https://blog.aldinn.com).