PageSourceSearch

https://dangitgit.com/bn

html dangitgit.com collected 2026-10-02 05:19:05 UTC 35,044 bytes, 521 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="bn">
3<head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1" />
6	<title>ওহ, Git!?!</title>
7	<meta name="lolz" content="My git site brings all the mansplainers to the yard." />
8    <!-- hi this is coming from netlify & 11ty-->
9	<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,700;1,700&family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet">
10
11<style>
12    body{font-family:"Open Sans",sans-serif;color:#222;background-color:#fff;line-height:1.4;margin:0;min-height:100%;position:relative}.prevent-safari-overflow-scroll{height:100%;width:100%;overflow-x:hidden;position:relative}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-weight:700}h1{line-height:1.2;font-size:3em}h2{font-size:1.75em}p{margin:1em 0}.notice,footer{padding:1em;background:#222;color:#fff;text-align:center}.notice a,footer a{color:#fff}.langpicker{float:right;margin-top:.5em;margin-bottom:2em;overflow:hidden}.langpicker *{box-sizing:border-box}.langpicker-button{border:2px solid #222;background:0 0;font-size:1em;display:flex;align-items:center;cursor:pointer;height:2.5em;position:relative;padding:.5em;border-right:none;text-align:left;-webkit-appearance:none;position:relative;left:2px;text-align:left;font-family:"Open Sans",sans-serif}.langpicker-icon{height:2em;width:1.5em;transition:.2s transform}.langpicker-button:active .langpicker-icon,.langpicker-button:focus .langpicker-icon,.langpicker-button:hover .langpicker-icon{transform:rotate(135deg)}.langpicker-text{display:inline-block;white-space:nowrap;padding-left:.5em;min-width:10em}.langpicker-list{list-style-type:none;margin:0;padding:0 0 2em .5em;transform:translateX(100%);transition:.2s ease-out;top:0;right:0;background-color:#222;color:#fff;border:2px solid #222;border-top:none;position:absolute;min-height:100%;width:10em;z-index:1000}.langpicker-button.open+.langpicker-list{transform:translateX(0)}.langpicker-list li{padding:.5em}.langpicker-list a{display:inline-block;color:#fff}.max-width{margin:1em;clear:both}@media screen and (min-width:680px){.max-width{margin:0 100px 0 170px;max-width:680px}}@media screen and (min-width:1020px){.max-width{margin:0 auto}}.centered{text-align:center}.spaced{margin:2em 0}.no-bottom-margin{margin-bottom:0}.top-lined{padding-top:2em;border-top:1px solid #000}.bottom-lined{padding-bottom:2em;border-bottom:1px solid #000}.intro{display:flex;flex-direction:column}.ads{order:1}@media screen and (min-width:680px){.ads{order:inherit}}.permalinked{color:#222;text-decoration:none}.permalinked:focus,.permalinked:hover{text-decoration:underline}.no-wrap{white-space:nowrap}.twitter-icon{height:13px;vertical-align:middle;margin-left:.25em}.github-icon{height:16px;vertical-align:middle;margin-right:.25em}footer{display:flex;flex-direction:column}@media screen and (min-width:800px){footer{flex-direction:row;justify-content:space-between}.copyright{order:0}.contact,.twitter{order:1;margin-left:1em}}#carbonads{position:absolute;display:block;overflow:hidden;margin-left:-160px;max-width:130px;text-align:right;font-size:14px;line-height:1.5}#carbonads a{color:inherit;text-decoration:none}#carbonads a:hover{color:inherit}#carbonads span{display:block;overflow:hidden}.carbon-img{display:block;margin:0 auto 8px;line-height:1}.carbon-text{display:block;margin-bottom:8px}.carbon-poweredby{display:block;text-transform:uppercase;letter-spacing:1px;font-size:10px;line-height:1}@media only screen and (min-width:320px) and (max-width:679px){#carbonads{position:relative;float:none;margin:0 auto;padding:10px;max-width:330px;border:solid 1px #8f8f8f;text-align:left}#carbonads span{position:relative}#carbonads>span{max-width:none}.carbon-img{float:left;margin:0 1em 0 0}.carbon-text{float:left;margin-bottom:0;max-width:calc(100% - 130px - 1em)}.carbon-poweredby{position:absolute;bottom:0;left:144px;display:block}}.rtl{direction:rtl}
13</style>
14<link href="/prism.css" rel="stylesheet" />
15	<link href="favicon-32x32.png" rel="icon" sizes="32x32" type="image/png" />
16	<link href="favicon-16x16.png" rel="icon" sizes="16x16" type="image/png" />
17</head>
18<body>
19    <div class="prevent-safari-overflow-scroll">
20        
21
22        
23<nav class="langpicker" aria-label="অন্যান্য ভাষায় দেখুন" id="picker">
24    <button class="langpicker-button" id="picker-btn">
25        <svg xmlns="http://www.w3.org/2000/svg" class="langpicker-icon" stroke="#222" fill="none" viewBox="0 0 420 420">
26          <path stroke-width="26" d="M209 15a195 195 0 102 0z"/>
27          <path stroke-width="18" d="M210 15v390m195-195H15M59 90a260 260 0 00302 0m0 240a260 260 0 00-302 0M195 20a250 250 0 000 382m30 0a250 250 0 000-382"/>
28        </svg>
29
30        <span class="langpicker-text" id="picker-text">অন্যান্য ভাষায় দেখুন</span>
31    </button>
32
33    <ul class="langpicker-list" id="picker-list">
34    
35        
36            <li><a href="/af">afrikaans (af)</a></li>
37        
38    
39        
40    
41        
42            <li><a href="/cs">česky (cs)</a></li>
43        
44    
45        
46            <li><a href="/de">deutsch (de)</a></li>
47        
48    
49        
50            <li><a href="/en">english (en)</a></li>
51        
52    
53        
54            <li><a href="/es">español (es)</a></li>
55        
56    
57        
58            <li><a href="/fa">persian (fa)</a></li>
59        
60    
61        
62            <li><a href="/fi">suomi (fi)</a></li>
63        
64    
65        
66            <li><a href="/fr">français (fr)</a></li>
67        
68    
69        
70            <li><a href="/gr">ελληνικά (gr)</a></li>
71        
72    
73        
74            <li><a href="/he">עברית (he)</a></li>
75        
76    
77        
78            <li><a href="/hi">हिन्दी (hi)</a></li>
79        
80    
81        
82            <li><a href="/id">bahasa indonesia (id)</a></li>
83        
84    
85        
86            <li><a href="/it">italiano (it)</a></li>
87        
88    
89        
90            <li><a href="/ja">日本語 (ja)</a></li>
91        
92    
93        
94            <li><a href="/kk">kazakh (kk)</a></li>
95        
96    
97        
98            <li><a href="/ko">한국어 (ko)</a></li>
99        
100    
101        
102            <li><a href="/ne">नेपाली (ne)</a></li>
103        
104    
105        
106            <li><a href="/nl">nederlands (nl)</a></li>
107        
108    
109        
110            <li><a href="/pl">polski (pl)</a></li>
111        
112    
113        
114            <li><a href="/pt_BR">português brasileiro (pt_BR)</a></li>
115        
116    
117        
118            <li><a href="/ro">romana (ro)</a></li>
119        
120    
121        
122            <li><a href="/ru">русский (ru)</a></li>
123        
124    
125        
126            <li><a href="/sr">serbia (sr)</a></li>
127        
128    
129        
130            <li><a href="/sv">swedish (sv)</a></li>
131        
132    
133        
134            <li><a href="/th">ภาษาไทย (th)</a></li>
135        
136    
137        
138            <li><a href="/tr">Türkçe (tr)</a></li>
139        
140    
141        
142            <li><a href="/ua">українська (ua)</a></li>
143        
144    
145        
146            <li><a href="/zh">中文 (zh)</a></li>
147        
148    
149    </ul>
150</nav>
151
152
153        <div class="max-width">
154            <header class="spaced">
155                <h1 class="centered">ওহ, Git!?!</h1>
156            </header>
157
158            <main>
159                <section class="intro">
160                    <aside class="ads">
161
162
163
164<script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CEBIK2JJ&placement=dangitgitcom" id="_carbonads_js"></script>
164
165
166</aside>
167                    
168                    <p>Git কিছুটা হলেও কঠিন: ঝামেলা পাকানো সহজ, এবং কিভাবে সেই ঝামেলা গুলো ফিক্স করা যাবে সেটা বের করা অনেক সময় কঠিন. গিট ডকুমেন্টেশনে মুরগি আগে না ডিম এই সমস্যা আছে, যেখানে কিভাবে আপনার ঝামেলা ঠিক করবে খুঁজে পাবেন না, <em> যদি না আপনি আলরেডি যেনেই থাকেন কিভাবে ফিক্স করতে হবে</em> সেই প্রবলেম যেটা আপনি ফিক্স করতে চান।</p>
169
170<p>কিছু খারাপ পরিস্থিতিতে আমি পরেছিলাম যা থেকে আমি নিজেকে সরিয়ে নিয়েছি, এবং কীভাবে আমি শেষ পর্যন্ত এগুলি থেকে নিজে মুক্তি পেয়েছি সেগুলোই দেয়া হল <em> শুদ্ধ বাংলায়</em>।</p>
171
172                </section>
173
174                
175                
176                    <section class="spaced">
177                        <h2><a class="permalinked" href="#magic-time-machine" id="magic-time-machine">ওহ গিট, আমি মারাত্মক ভুল করে ফেলেছি, কেও আমাকে বল git এর ম্যাজিক টাইম মেশিন আছে!?!</a></h2>
178                        <pre><code class="language-git">git reflog
179# আপনি একটা লিস্ট পাবেন
180# যেখানে git এর সকল ব্রাঞ্চ এর সব commit দেখতে পাবেন
181# প্রত্যেক আইটেম এর একটা ইনডেক্স HEAD@{index} থাকবে
182# ওই ইনডেক্স টা খুঁজে বের করেন, যেটার পরের কমিট থেকে ঝামেলা শুরু হয়েছে
183git reset HEAD@{index}
184# ম্যাজিক টাইম মেশিন
185</code></pre>
186<p>আপনি এটা ব্যাবহার করে ভুলবশত ডিলিট হয়ে যাওয়া যেকোনো কিছু ফিরে পাবেন, কিংবা সরিয়ে ফেলতে পারবেন এমন কিছু যেটা রেপো এর কিচু ভেঙ্গে ফেলতে পারে, অথবা কোন খারাপ merge রিকোভার করতে পার, এমনকি সেই সময় ফিরে যেতে পারেন যেখানে আপনি আসলেই কাজ করেছেন।
187আমি <code>reflog</code>  অনেক ব্যাবহার করি। যারা এটা এড করার উপদেশ দিসে তাদের অনেক অনেক অনেক অনেক সাধুবাদ।</p>
188
189                    </section>
190                
191                    <section class="spaced">
192                        <h2><a class="permalinked" href="#change-last-commit" id="change-last-commit">ওহ গিট, আমি কমিট করলাম এবং অবিলম্বে বুঝতে পারি যে আমার একটি ছোট পরিবর্তন করা দরকার!</a></h2>
193                        <pre><code class="language-git"># তোমার পরিবর্তন কর
194git add . # or add individual files
195git commit --amend --no-edit
196# এখন তোমার শেষ কমিট এই সেই পরিবর্তন রয়েছে!
197# সতর্কতা: public কমিট কখনও সংশোধন করবেন না
198</code></pre>
199<p>এটি সাধারণত আমার সাথে ঘটে আমি যদি commit করি, তারপর run করি tests/linters... এবং FML, সমান চিহ্নের পরে আমি একটি স্পেস দেইনি। আপনি একটি নতুন কমিট হিসাবেও যোগ করতে পারেন এবং তারপর <code>rebase -i</code> রান করে ওই কমিটগুলো squash করতে পারেন, কিন্তু এটি প্রায় এক মিলিয়ন গুণ দ্রুত.</p>
200<p><em>সতর্কতা: কখনই সেই কমিটগুলোকে amend করবেন না যেগুলো public/shared ব্রাঞ্চ এ পুশ করা হয়েছে। শুধুমাত্র লোকাল ব্রাঞ্চ এর commit গুলোকেই amend করবেন, যেটা শুধু আপনার লোকাল কপি আছে নাহলে আপনার খারাপ সময় সামনেই।</em></p>
201
202                    </section>
203                
204                    <section class="spaced">
205                        <h2><a class="permalinked" href="#change-last-commit-message" id="change-last-commit-message">ওহ গিট, আমার শেষ কমিট বার্তাটি পরিবর্তন করা দরকার!</a></h2>
206                        <pre><code class="language-git">git commit --amend
207# কমিট বার্তা পরিবর্তন করতে পরবর্তী ধাপ অনুসরণ করুন
208</code></pre>
209<p>কমিট বার্তার বোকা শর্তাবলী।</p>
210
211                    </section>
212                
213                    <section class="spaced">
214                        <h2><a class="permalinked" href="#accidental-commit-master" id="accidental-commit-master">ওহ গিট, আমি দুর্ঘটনাক্রমে মাস্টার ব্রাঞ্চে এমন কিছু কমিট করেছি যা একেবারে নতুন ব্রাঞ্চে থাকা উচিত ছিল!</a></h2>
215                        <pre><code class="language-git"># বর্তমানের মাস্টার ব্রাঞ্চ থেকে একটি নতুন ব্রাঞ্চ তৈরি করুন
216git branch some-new-branch-name
217# মাস্টার ব্রাঞ্চ থেকে শেষ কমিট অপসারণ করুন
218git reset HEAD~ --hard
219git checkout some-new-branch-name
220# আপনার কমিট এখন এই নতুন ব্রাঞ্চ এ আছে :)
221</code></pre>
222<p>দ্রষ্টব্য: আপনি যদি ইতিমধ্যে কোনও public/shared ব্রাঞ্চে কমিট করে থাকেন তবে এটি কাজ করবে না, এবং যদি আপনি প্রথমে অন্য কিছু চেষ্টা করে থাকেন তবে আপনার <code>git reset HEAD@{number-of-commits-back}</code> দরকার হবে <code>HEAD~</code> এর পরিবর্তে. অসীম বিষণ্ণতা । এছাড়াও, অনেক লোক একটা সংক্ষিপ্ত উপায় তৈরি করার জন্য একটি দুর্দান্ত পরামর্শ দিয়েছিল যা আমি নিজেও জানতাম না। সবাইকে ধন্যবাদ!</p>
223
224                    </section>
225                
226                    <section class="spaced">
227                        <h2><a class="permalinked" href="#accidental-commit-wrong-branch" id="accidental-commit-wrong-branch">ওহ গিট, আমি ভুলবশত অন্য ব্রাঞ্চে কমিট করে ফেলেছি!</a></h2>
228                        <pre><code class="language-git"># শেষ কমিট পূর্বাবস্থায় ফেরাও, তবে পরিবর্তনগুলি উপলভ্য রাখ
229git reset HEAD~ --soft
230git stash
231# সঠিক ব্রাঞ্চে চেকআউট করুন
232git checkout name-of-the-correct-branch
233git stash pop
234git add . # or add individual files
235git commit -m &quot;your message here&quot;
236# এখন আপনার পরিবর্তনগুলো সঠিক ব্রাঞ্চে পাবেন
237</code></pre>
238<p>এই পরিস্থিতির জন্য অনেক লোক <code>চেরি-পিক</code> ব্যবহার করার পরামর্শ দিয়েছেন, সুতরাং যেটি আপনার জন্য সবচেয়ে বেশি কার্যকর সেটাই চয়ন করুন!</p>
239<pre><code class="language-git">git checkout name-of-the-correct-branch
240# মাস্টার থেকে শেষ কমিট কালেক্ট করুন
241git cherry-pick master
242# মাস্টার থেকে শেষ কমিট ডিলিট করুন
243git checkout master
244git reset HEAD~ --hard
245</code></pre>
246
247                    </section>
248                
249                    <section class="spaced">
250                        <h2><a class="permalinked" href="#dude-wheres-my-diff" id="dude-wheres-my-diff">ওহ গিট, আমি একটি diff চালানোর চেষ্টা করেছি কিন্তু কিছুই হয়নি?!</a></h2>
251                        <p>আপনি যদি জানেন যে আপনি ফাইলগুলিতে পরিবর্তন করেছেন, কিন্তু <code>diff</code> এ খালি রয়েছে, তাহলে আপনি সম্ভবত তোমার ফাইলগুলি অ্যাড করেছেন ঠিকই এখন আপনাকে শুধু একটি বিশেষ ফ্ল্যাগ ব্যবহার করতে হবে।</p>
252<pre><code class="language-git">git diff --staged
253</code></pre>
254<p>File under ¯\_(ツ)_/¯ (হ্যাঁ, আমি জানি এটি একটি বৈশিষ্ট্য, কোনও বাগ নয়, তবে এটি চমকপ্রদ এবং অবিস্মরণীয় যে এটি তোমার সাথে প্রথমবার ঘটল!)</p>
255
256                    </section>
257                
258                    <section class="spaced">
259                        <h2><a class="permalinked" href="#undo-a-commit" id="undo-a-commit">ওহ গিট, আমার 5 টি কমিটের আগে যে কমিট হয়েছে সেটা বাদ দিতে হবে!</a></h2>
260                        <pre><code class="language-git"># আপনার যে কমিটটা দরকার তা খুঁজে বের করুন
261git log
262# লগ হিস্টরির উপরে এবং নীচে স্ক্রোল করতে অ্যারো কী-গুলি ব্যবহার করুন
263# তোমার কমিটটা একবার পেয়ে গেলে হ্যাশটি সংরক্ষণ করুন
264git revert [saved hash]
265# গিট একটি নতুন কমিট তৈরি করবে যেন কমিটগুলি পূর্বাবস্থায় ফিরে আসে
266# কমিট বার্তা পরিবর্তন করতে পরবর্তী ধাপ অনুসরণ করুন 
267# অথবা শুধু সেভ এবং কমিট
268</code></pre>
269<p>দেখা যাচ্ছে যে পরিবর্তনগুলি পূর্বাবস্থায় ফেলার জন্য আপনাকে বিদ্যমান ফাইলটিতে পুরানো ফাইল এর কন্টেন্ট কপি এবং পেস্ট করতে হবে না! আপনি যদি কোনও বাগও কমিট করে থাকেন তবে <code>revert</code> দিয়ে একসাথে সমস্ত কমিটগুল পূর্বাবস্থায় ফিরিয়ে আনতে পারবেন</p>
270<p>আপনি একটি পূর্ণ কমিট এর পরিবর্তে একটি ফাইল রিভার্ট পারবেন! কিন্তু অবশ্যই git এর স্টাইলে। সেগুলো সম্পূর্ণই আলাদা গিট কম্যান্ড...</p>
271
272                    </section>
273                
274                    <section class="spaced">
275                        <h2><a class="permalinked" href="#undo-a-file" id="undo-a-file">ওহ গিট, আমার কোনও ফাইলের পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনা দরকার!</a></h2>
276                        <pre><code class="language-git"># ফাইলটি পরিবর্তিত হওয়ার আগের একটি কমিটের হ্যাশ সন্ধান করুন
277git log
278# লগ হিস্টরির উপরে এবং নীচে স্ক্রোল করতে অ্যারো কী-গুলি ব্যবহার করুন
279# আপনার কমিটটা একবার পেয়ে গেলে হ্যাশটি সংরক্ষণ করুন
280git checkout [saved hash] -- path/to/file
281# ফাইলটির পুরাতন ভার্সনটা আপনার ইনডেক্স এ থাকবে
282git commit -m &quot;Wow, you don't have to copy-paste to undo&quot;
283</code></pre>
284<p>অবশেষে যখন আমি এটি বুঝতে পারলাম এটি ছিল বিশাল। বিশাল. বিশাল. তবে চিন্তা করুন, কোন গ্রহে <code>checkout --</code> কে, কোন ফাইলকে পূর্বাবস্থায় ফিরিয়ে আনার সেরা উপায় হিসাবে দেখবে?</p>
285
286                    </section>
287                
288                    <section class="spaced">
289                        <h2><a class="permalinked" href="#forget-this-noise" id="forget-this-noise">ওহ গিট,  এইটা ভুলে যাও, আমি ছেড়ে দিলাম।</a></h2>
290                        <pre><code class="language-git">cd ..
291sudo rm -r stupid-git-repo-dir
292git clone https://some.github.url/stupid-git-repo-dir.git
293cd stupid-git-repo-dir
294</code></pre>
295<p>ধন্যবাদ Eric V. এটার জন্য. <code>sudo</code> ব্যবহার সম্পর্কে সমস্ত অভিযোগই তাঁর কাছে ফরওয়ার্ড করা যেতে পারে।</p>
296<p>বাস্তব যদিও, যদি আপনার ব্রাঞ্চ এমনি নষ্ট হয় যে তোমার রেপো কে রিসেট দিতে হয় যেন সেটা রিমোট রেপো এর মত হয়ে যায়, &quot;git-approved&quot; পদ্ধতিতে এটা ট্রাই করুন, তবে সাবধান, এগুলি ধ্বংসাত্মক এবং অপরিবর্তনযোগ্য!</p>
297<pre><code class="language-git"># অরিজিন এর সর্বশেষ অবস্থা নামিয়ে নিন
298git fetch origin
299git checkout master
300git reset --hard origin/master
301# আনট্রাক্ট ফাইল এবং ডিরেক্টরি মুছুন
302git clean -d --force
303# পুনরাবৃত্তি করুন checkout/reset/clean সকল ব্রোকেন ব্রাঞ্চ এর জন্য
304</code></pre>
305
306                    </section>
307                
308
309                <section class="spaced">
310                    
311                    <p>*Disclaimer: এই সাইটটি একটি স
311ম্পূর্ণ রেফারেন্স হওয়ার উদ্দেশ্যে নয়। এবং হ্যাঁ, আরও তাত্ত্বিক বিশুদ্ধতা বা যাই হোক না কেন এই একই জিনিসগুলি করার অন্যান্য উপায় রয়েছে। তবে আমি প্রচুর ট্রাইয়াল-এন্ড-এরর এবং গালাগালি এবং টেবিল উল্টানর এর মাধ্যমে এখানে পৌঁছেছি, এবং সবার সাথে ভাগ করে নিতে আমার এই উন্মাদ ধারণাটি ছিল একটা স্বাস্থ্যকর ডোজ। এটি নিন বা ছেড়ে দিন সেটি একান্তই ব্যক্তিগত!</p>
312                </section>
313
314                <section class="spaced top-lined">
315                    
316                    <p>যারা সাইটটিকে নতুন ভাষায় অনুবাদ করতে স্বেচ্ছাসেবি হয়েছ তাদের প্রত্যেককে অনেক ধন্যবাদ, তোমরা অসাধারণ!
317
318    
319        <a href="https://github.com/michaeljabotha">
320          Michael Botha
321          </a> (<a href="/af">af</a>) &middot; 
322    
323        <a href="https://github.com/sheralam">
324          Khaja Md Sher E Alam
325          </a> (<a href="/bn">bn</a>) &middot; 
326    
327        <a href="https://github.com/edee111">
328          Eduard Tomek
329          </a> (<a href="/cs">cs</a>) &middot; 
330    
331        <a href="https://github.com/pReya">
332          Moritz Stückler
333          </a> (<a href="/de">de</a>) &middot; 
334    
335        <a href="https://github.com/francofantini">
336          Franco Fantini
337          </a> (<a href="/es">es</a>) &middot; 
338    
339        <a href="https://github.com/hamidmoheb1">
340          Hamid Moheb
341          </a> (<a href="/fa">fa</a>) &middot; 
342    
343        <a href="https://github.com/sjarva">
344          Senja Jarva
345          </a> (<a href="/fi">fi</a>) &middot; 
346    
347        <a href="https://github.com/michelc">
348          Michel
349          </a> (<a href="/fr">fr</a>) &middot; 
350    
351        <a href="https://github.com/Tzal3x">
352          Alex Tzimas
353          </a> (<a href="/gr">gr</a>) &middot; 
354    
355        <a href="https://github.com/eladleev">
356          Elad Leev
357          </a> (<a href="/he">
357he</a>) &middot; 
358    
359        <a href="https://github.com/aryansarkar13">
360          Aryan Sarkar
361          </a> (<a href="/hi">hi</a>) &middot; 
362    
363        <a href="https://github.com/quellcrist-falconer">
364          Ricky Gultom
365          </a> (<a href="/id">id</a>) &middot; 
366    
367        <a href="https://github.com/fedemcmac">
368          fedemcmac
369          </a> (<a href="/it">it</a>) &middot; 
370    
371        <a href="https://github.com/meih">
372          Meiko Hori
373          </a> (<a href="/ja">ja</a>) &middot; 
374    
375        <a href="https://github.com/zshanabek">
376          Zhunisali Shanabek
377          </a> (<a href="/kk">kk</a>) &middot; 
378    
379        <a href="https://github.com/ryanking13">
380          Gyeongjae Choi
381          </a> (<a href="/ko">ko</a>) &middot; 
382    
383        <a href="https://github.com/rahuldahal">
384          Rahul Dahal
385          </a> (<a href="/ne">ne</a>) &middot; 
386    
387        <a href="https://github.com/MartijntenHeuvel">
388          Martijn ten Heuvel
389          </a> (<a href="/nl">nl</a>) &middot; 
390    
391        <a href="https://github.com/lwojcik">
392          Łukasz Wójcik
393          </a> (<a href="/pl">pl</a>) &middot; 
394    
395        <a href="https://github.com/davialexandre">
396          Davi Alexandre
397          </a> (<a href="/pt_BR">pt_BR</a>) &middot; 
398    
399        <a href="https://github.com/catalinafox">
400          Catalina Focsa
401          </a> (<a href="/ro">ro</a>) &middot; 
402    
403        <a href="https://github.com/dadyarri">
404          Daniil Golubev
405          </a> (<a href="/ru">ru</a>) &middot; 
406    
407        <a href="https://github.com/GoodbyePlanet">
408          Nemanja Vasić
409          </a> (<a href="/sr">sr</a>) &middot; 
410    
411        <a href="https://github.com/cybear">
412          Björn Söderqvist
413          </a> (<a href="/sv">sv</a>) &middot; 
414    
415        <a href="https://github.com/kitt-tientanopajai">
416          Kitt Tientanopajai
417          </a> (<a href="/th">th</a>) &middot; 
418    
419        <a href="https://github.com/tpaksu">
420          Taha Paksu
421          </a> (<a href="/tr">tr</a>) &middot; 
422    
423        <a href="https://github.com/LastGenius-edu">
424          Andriy Sultanov
425          </a> (<a href="/ua">ua</a>) &middot; 
426    
427        <a href="https://github.com/taojy123">
428          Tao Jiayuan
429          </a> (<a href="/zh">zh</a>)
430    
431. ধন্যবাদ অতিরিক্ত সহায়তায় 
432    
433        <a href="https://github.com/alliejones">Allie Jones</a> &middot; 
434    
435        <a href="https://github.com/vorot93">Artem Vorotnikov</a> &middot; 
436    
437        <a href="https://github.com/davidfyffe">David Fyffe</a> &middot; 
438    
439        <a href="https://github.com/DirtyF">Frank Taillandier</a> &middot; 
440    
441        <a href="https://github.com/imurray">Iain Murray</a> &middot; 
442    
443        <a href="https://github.com/LucasLarson">Lucas Larson</a> &middot; 
444    
445        <a href="https://github.com/mvrzvbvk">Myrzabek Azil</a>
446    
447</p>
448
449<p>আপনি যদি নিজের ভাষায় কোনও অনুবাদ যুক্ত করতে সহায়তা করতে চান, submit a PR on <a href="https://github.com/ksylor/ohshitgit" class="no-wrap"><svg class="github-icon" xmlns="http://www.w3.org/2000/svg" fill="#222222" viewBox="0 0 1024 1024"><path fill-rule="evenodd" clip-rule="evenodd" d="M512 0C229.12 0 0 229.12 0 512c0 226.56 146.56 417.92 350.08 485.76 25.6 4.48 35.2-10.88 35.2-24.32 0-12.16-.64-52.48-.64-95.36-128.64 23.68-161.92-31.36-172.16-60.16-5.76-14.72-30.72-60.16-52.48-72.32-17.92-9.6-43.52-33.28-.64-33.92 40.32-.64 69.12 37.12 78.72 52.48 46.08 77.44 119.68 55.68 149.12 42.24 4.48-33.28 17.92-55.68 32.64-68.48-113.92-12.8-232.96-56.96-232.96-252.8 0-55.68 19.84-101.76 52.48-137.6-5.12-12.8-23.04-65.28 5.12-135.68 0 0 42.88-13.44 140.8 52.48 40.96-11.52 84.48-17.28 128-17.28 43.52 0 87.04 5.76 128 17.28 97.92-66.56 140.8-52.48 140.8-52.48 28.16 70.4 10.24 122.88 5.12 135.68 32.64 35.84 52.48 81.28 52.48 137.6 0 196.48-119.68 240-233.6 252.8 18.56 16 34.56 46.72 34.56 94.72 0 68.48-.64 123.52-.64 140.8 0 13.44 9.6 29.44 35.2 24.32C877.44 929.92 1024 737.92 1024 512 1024 229.12 794.88 0 512 0z" fill="#1B1F23"/></svg>GitHub</a></p>
450                </section>
451            </main>
452        </div>
453        
454        <footer>
455    <small class="contact">আপনার ওহ গিট মোমেন্ট, আমার সাথে শেয়ার করুন!</small>
456    <small class="twitter"><a href="https://twitter.com/ohshitgit" class="no-wrap">
456<svg class="twitter-icon" viewBox="0 0 235 191" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M73.7 191c88.7 0 137.2-73.5 137.2-137.2 0-2.1 0-4.2-.1-6.2 9.4-6.8 17.6-15.3 24.1-25-8.6 3.8-17.9 6.4-27.7 7.6 10-6 17.6-15.4 21.2-26.7-9.3 5.5-19.6 9.5-30.6 11.7C189 5.8 176.5 0 162.6 0c-26.6 0-48.2 21.6-48.2 48.2 0 3.8.4 7.5 1.3 11-40.1-2-75.6-21.2-99.4-50.4-4.1 7.1-6.5 15.4-6.5 24.2 0 16.7 8.5 31.5 21.5 40.1-7.9-.2-15.3-2.4-21.8-6v.6c0 23.4 16.6 42.8 38.7 47.3-4 1.1-8.3 1.7-12.7 1.7-3.1 0-6.1-.3-9.1-.9 6.1 19.2 23.9 33.1 45 33.5-16.5 12.9-37.3 20.6-59.9 20.6-3.9 0-7.7-.2-11.5-.7C21.1 183 46.5 191 73.7 191" fill="#fff" fill-rule="nonzero"/></svg>@ohshitgit</a> <a href="https://twitter.com/ksylor" class="no-wrap"><svg class="twitter-icon" viewBox="0 0 235 191" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M73.7 191c88.7 0 137.2-73.5 137.2-137.2 0-2.1 0-4.2-.1-6.2 9.4-6.8 17.6-15.3 24.1-25-8.6 3.8-17.9 6.4-27.7 7.6 10-6 17.6-15.4 21.2-26.7-9.3 5.5-19.6 9.5-30.6 11.7C189 5.8 176.5 0 162.6 0c-26.6 0-48.2 21.6-48.2 48.2 0 3.8.4 7.5 1.3 11-40.1-2-75.6-21.2-99.4-50.4-4.1 7.1-6.5 15.4-6.5 24.2 0 16.7 8.5 31.5 21.5 40.1-7.9-.2-15.3-2.4-21.8-6v.6c0 23.4 16.6 42.8 38.7 47.3-4 1.1-8.3 1.7-12.7 1.7-3.1 0-6.1-.3-9.1-.9 6.1 19.2 23.9 33.1 45 33.5-16.5 12.9-37.3 20.6-59.9 20.6-3.9 0-7.7-.2-11.5-.7C21.1 183 46.5 191 73.7 191" fill="#fff" fill-rule="nonzero"/></svg>@ksylor</a></small>
457    <small class="copyright">&copy; 2016-2025 Katie Sylor-Miller</small>
458</footer>
459
460    </div>
461
462    
462<script src="/prism.js" async></script>
462
463    
463<script async>
464        function setupLangPicker() {
465            // passive event listener polyfill
466            // Test via a getter in the options object to see if the passive property is accessed
467            var supportsPassive = false;
468            try {
469              var opts = Object.defineProperty({}, 'passive', {
470                get: function() {
471                  supportsPassive = true;
472                }
473              });
474              window.addEventListener("testPassive", null, opts);
475              window.removeEventListener("testPassive", null, opts);
476            } catch (e) {}
477
478            var picker = document.getElementById('picker');
479            var pickerText = document.getElementById('picker-text');
480            var pickerList = document.getElementById('picker-list');
481            var pickerBtn = document.getElementById('picker-btn');
482            var isOpen = false;
483
484            function toggle() {
485                if (!isOpen) {
486                    pickerList.style.width = pickerText.scrollWidth + 'px';
487                }
488                pickerBtn.classList.toggle('open');
489                isOpen = !isOpen;
490            }
491            // handle button clicks
492            pickerBtn.addEventListener('click', toggle);
493
494            // close open picker via outside clicks
495            document.addEventListener('click', function(evt) {
496                if (isOpen && !evt.target.closest('#picker')) {
497                    toggle();
498                }
499            }, supportsPassive ? { passive: true } : false);
500
501            // if user tabs into list, open it
502            pickerList.addEventListener('focusin', function(evt) {
503                if (!isOpen) {
504                    toggle();
505                }
506            });
507            pickerList.addEventListener('focusout', function(evt) {
508                if (isOpen) {
509                    toggle();
510                }
511            });
512        }
513        setupLangPicker();
514    </script>
514
515    <div style="display:none">
516	<!-- temporarily ading hidden links for social verification without having to update all the footer definitions everywhere -->
517	<a rel="me" href="https://front-end.social/@ksylor">Mastodon</a>
518        <a rel="me" href="https://bsky.app/profile/ksylor.bsky.social">BlueSky</a>
519    </div>
520</body>
521</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.