Professional Documents
Culture Documents
সূিচপ
র আেগ 0
ভূিমকা 1
ই টেলশন এবং কনিফগােরশন 2
নতুন িরেপািজটির 3
িরেমাট িরেপািজটির 4
মাি পল ডেভলপার 5
একািধক িরেমাট িরেপা 6
িগট- ও পিরিচিত 7
িগট- ও ই টেলশন এবং কনিফগােরশন 7.1
িগট- ওিফচার 7.2
িগট- ও িরিলস 7.3
িগট- ও হটিফ 7.4
1
বাংলায় িগট ভাসন কে ািলং
howtocode.com.bd
পৃ া লাইক ক ন 10হাজার পছ িল
কাস এর মুল পাতা | HowToCode মুল সাইট | সবার জন া ািমং গ | িপিডএফ ডাউনেলাড
theazharul 18 howtocode-com-bd 11 masudiiuc 11 nuhil 8
িগট(git): িগট হে একিট ওেপনেসাস(open source) ভাসন কে াল িসে ম। এর মাধ েম একজন ব বহারকারী
যতবার তার পিরবতন েলা কিমট(commit) করেব ততবার িগট তার স ূণ ফাইল সংর ন কের রাখেব। িগট এর
একিট বড় সুিবধা হে একিট েজ িনেয় অসংখ ডেভলপার(developer) একই সময় কাজ করেত পাের।
আপিন চাইেল ই ারেনট সংেযাগ ছাড়াও কাজ করেত পারেবন।
ওেপন সাস
এই বইিট মূলত া েম লখা এবং বইিট স ূন ওেপন সাস । এখােন তাই আপিনও অবদান রাখেত পােরন
লখক িহেসেব । আপনার কি িবউশান গৃ হীত হেল অবদানকারীেদর তািলকায় আপনার নাম যাগ কের দওয়া হেব ।
এিট মূলত একিট িগটহাব িরেপািজেটাির যখােন এই বইেয়র আিটেকল েলা মাকডাউন ফরম ােট লখা হে ।
িরেপাজটিরিট ফক কের পুল িরকুেয় পাঠােনার মাধ েম আপনারাও অবদান রাখেত পােরন ।
Like 90 Share
র আেগ 2
বাংলায় িগট ভাসন কে ািলং
র আেগ 3
বাংলায় িগট ভাসন কে ািলং
িগট(git):
িগট হে একিট ওেপনেসাস(open source) ভাসন কে াল িসে ম। এর মাধ েম একজন ব বহারকারী যতবার তার
পিরবতন েলা কিমট(commit) করেব ততবার িগট তার স ূণ ফাইল সংর ন কের রাখেব। িগট এর একিট বড়
সুিবধা হে একিট েজ িনেয় অসংখ ডেভলপার(developer) একই সময় কাজ করেত পাের। আপিন চাইেল
ই ারেনট সংেযাগ ছাড়াও কাজ করেত পারেবন।
কােজর ধাপসমূহ:
আমরা যখন লাকাল(local) িরেপািজটিরেত কান পিরবতন কির তখন আমরা working directory- ত থািক। git
add কমা দয়ার পর সটা staging area ত যায় এবং git commit কমা দয়ার পর সটা ািয়ভােব লাকাল
িরেপািজটিরেত যু হয়। পরবিতেত চাইেল সটা িরেমাট িরেপািজটিরেত git push কমা িদেয় আপেলাড কের দয়া
যায়।
ভূিমকা 4
বাংলায় িগট ভাসন কে ািলং
ভূিমকা 5
বাংলায় িগট ভাসন কে ািলং
Windows:
১. িগট প ােকজিট ডাউনেলাড করার জন এখােন ি ক ক ন।
২. ডাউনেলাড করা ফাইলিট ি ক কের ই টল কের িনন।
Linux:
Linux এর িবিভ িডে া এর জন িগট ই টল প িত িবিভ রকম। িক খুবই সহজ। িডে া অনুযায়ী terminal-এ
িনেচর কমা েলা িলখুন।
Debian/Ubuntu
Fedora
Gentoo
Arch Linux
# pacman -S git
FreeBSD
$ cd /usr/ports/devel/git
$make install
Solaris 11 Express
OpenBSD
$ pkg_add git
িগট কনিফগার
িগট কনিফগার করার মূল উে শ হে , আপিন যখন িগট এর মাধ েম কিমট(commit) করেবন তখন কিমেটর সােথ
স আপনার তথ সংর ণ কের রাখেব। কনিফগােরশেনর সময় আপনােক ধু আপনার user name এবং email
address বেল িদেত হেব। Windows ব বহারকারীরা িগট ই টল করার পর কি উটার ড টেপ gitBash নােম
একিট শটকাট ফাইল তির হেব। সিট খুেল তােত িনেচর কমা েলা িলখুন। Linux ব বহারকারীরা terminal-এ
কমা েলা িলখেত পারেবন।
এখােন য email address িদেবন তা অবশ ই আপনার সাভার অ াকাউে র email address এর সােথ িমল
থাকেত হেব। এখন আপনার কি উটারিট িগট ব বহার উপেযািগ হেয়েছ। এখন থেক আপিন আপনার কি উটাের
িগেটর কমা েলা কােজ লাগােত পারেবন। আমরা আমােদর সকল কমা gitBash অথবা terminal-এ িলখেবা।
~/.gitconfig ফাইল এ আপনার াবাল(global) কনিফগােরশন লখা থােক। আপিন যখন কান একিট
িরেপািজটিরেত git init কমা িদেবন তখন .git নােমর একিট ফা ার তির হেব। এই .git ফা ােরর
িভতেরই িগট সব তথ সংরি ত রােখ।
আপিন কান একিট িরপিজটিরর জন িগেটর াবাল কনিফগােরশনেক পিরবতন অথবা ওভাররাইট করেত পােরন।
আপিন যিদ কান একিট িরপিজটিরর জন name এবং email পিরবতন করেত চান তাহেল terminal িদেয়
িরপিজটিরেত িগেয় িনেচর কমা েলা দন।
এখেন আপিন য ÆÚÌ এবং ¦áÌ¦Ñ িদেবন তা শধুমা এই িরেপািজটিরর জন কনিফগার হেব। আপনার লাকাল
কনিফগার .git/config ফাইল এ সংরি ত হয়। Linux/Mac ব বহারকারীরা terminal-এ িনেচর কমা িদেয়
লাকাল কনিফগােরশন এর ফাইলিট দখেত পােরন।
nano .git/config
ফাইল এর শেষ যিদ িনেচর লাইন েলা যাগ হয় তাহেল আপনার লাকাল কনিফগার সিঠকভােব overwrite হেয়েছ।
[user]
name = <your-name>
email = <your-email>
আপিন িনেচর কমা িদেয় আপনার িগট কনিফগােরশন একসােথ দখেত পারেবন।
1. ধ ন, আপিন যিদ একিট routine management system তির করেত চান এবং আপনার িরেপািজটির
ফা ােরর নাম যিদ rms িদেত চান , থেম
mkdir rms
কমা িট িলখুন। এখন cd ব বহার কের আপনার িরেপািজটিরেত েবশ করেত িলখুন
cd rms
2. এখন
git init
কমা িলখুন। এেত কের আপনার িরেপািজটিরিট িগট ব বহােরর উপেযািগ হেব এবং .git নােম একিট লুকােনা
ফা ার তির হেব। আপনার িরেপািজটিরেত .git ফা ারিট তির না থাকেল আপিন িগেটর কমা েলা
কােজ লাগােত পারেবন না।
3. আপনার িরেপািজটিরিট এখন কােজর উপযু হেয়েছ। আপিন এখন এেত য কান ধরেন ফাইল, ফা ার
তির, স াদনা ও মুেছ ফলেত পারেবন।
কমা ব বহার করেত হেব। যিদ একিট ফাইেক সংযু করেত চান তেব git add কমাে র পর ফাইেলর নাম
িলখেত হেব। ধ ন আপিন test.txt নােম একিট ফাইল তির কেরেছন যা আপিন Staging area ত পাঠােত
চান। তখন আপনার কমা হেব
5. সবেশষ আপনােক য কাজিট করেত হেব তা হে , আপনার staging area ত সংযু করা ফাইল েলােক
মূল িরেপািজটিরর সােথ িন তভােব সংযু করা। স জন আপনােক git commit কমা িট ব বহার করেত
হেব। আপনােক েত ক commit এর সােথ একিট বাতা সংযু কের িদেত হেব। তখন আপনার স ূণ
কমা িট হেব-
নতুন িরেপািজটির 9
বাংলায় িগট ভাসন কে ািলং
নতুন িরেপািজটির 10
বাংলায় িগট ভাসন কে ািলং
1. থেমই আপনার িরেমাট িরেপািজটিরিটেক আপনার িনজ কি উটাের িনেয় আসেত হেব। এজন আপনােক
cd কমা ব বহার কের আপনার কি উটােরর localhost এ যেত হেব। localhost এর জন আপনােক
htdocs অথবা www ফা াের েবশ করেত হেব।
2. াউজােরর মাধ েম আপনার িরেমাট িরেপািজটিরেত েবশ ক ন। সখােন clone বাটেন ি ক করার পর
সখােন একিট কমা দখেত পােবন। clone কমাে র দুইিট অপশন থােক। একিট হে https এবং অন িট
ssh। ssh কমা িনবাচন করেল আপনার কি উটাের একিট ssh key তির করেত হেব। পের সিট
আপনার সাভাের সংর ন করেত হেব। িক https িনবাচন করেল কান key তির করেত হেব না। চলুন দেখ
নয়া যাক, িকভােব ssh key তির করেত হয়-
terminal এ ssh-keygen কমা িট িলখুন। এেত কের আপনার কি উটােরর home ফা াের
লুকােনা একিট .ssh ফা ার তির হেব এবং একিট id_rsa.pub ফাইল তির হেব। id_rsa.pub
ফাইলিট খুলুন এবং এর িভতেরর লখা েলা copy ক ন।
আপনার সাভার account এ েবশ ক ন। সখান থেক manage account িলংেক(link) েবশ
ক ন। এরপর সখান থেক ssh key িলংেক েবশ কের আপনার key িট paste ক ন। এরপর
সংর ন কের বর হেয় আসুন।
3. সাভার একাউ (account) থেক clone কমা িট copy কের terminal এ paste ক ন।
4. আপনার clone কমা িট যিদ https এর হয় তাহেল আপনার কােছ আপনার একাউ এর user name এবং
password চাইেব। সিঠক তথ িদেল আপনার সাভােরর িরেপািজটিরিট আপনার িনজ কি উটাের
ান(clone) হেয় যােব। আপনার localhost এ েবশ করেল সাভােরর িরেপািজটিরর নােম একিট ফা ার
দখেবন। এটাই আপনার িনজ কি উটাের িরেমাট িরেপািজটিরর ান।
5. এখন অফলাইেন থেকই আপনার িরেপািজটিরেত কাজ ক ন। এরপর আপিন যখিন আপনার িরেমাট
িরেপািজটিরেত আপনার কাড(code) সংযু করেত চাইেবন তখন আপনােক িকছু কমা ব বহার করেত
হেব। স েলা িনেচ দয়া হেলা।
িরেমাট িরেপািজটির 11
বাংলায় িগট ভাসন কে ািলং
িরেপািজটিরেত অ ভু করেবন তার তািলকা তির করা। স জন আপনােক git add কমা ব বহার
করেত হেব। যিদ আপিন বতমান সব েলা ফাইলেক Staging area ত সংযু করেত চান তেব
আপনােক
git add *
কমা ব বহার করেত হেব। যিদ একিট ফাইেক সংযু করেত চান তেব git add কমাে র পর ফাইেলর নাম
িলখেত হেব। ধ ন আপিন test.txt নােম একিট ফাইল তির কেরেছন যা আপিন Staging area ত পাঠােত
চান। তখন আপনার কমা হেব
git add test.txt
আপনার staging area ত সংযু করা ফাইল েলােক মূল িরেপািজটিরর সােথ িন তভােব সংযু
করা। স জন আপনােক git commit কমা িট ব বহার করেত হেব। আপনােক েত ক commit এর
সােথ একিট বাতা সংযু কের িদেত হেব। তখন আপনার স ূণ কমা িট হেব-
git commit -m “Your Message”
এখন কিমট(commit) করা ফাইল েলােক িরেমাট িরেপািজটিরেত সংযু করেত আপনােক git push
কমা িট ব বহার করেত হেব। আপিন কান া (branch (branch স েক অন িটউটিরয়ােল
আেলাচনা করা হেব))-এ ফাইল সংযু তাও বেল িদেত হেব। আমরা আমােদর ফাইল master branch
এ সংযু করেবা। স ূণ কমা িট িনেচ দয়া হেলা।
git push origin master
এখােন origin হে িরেমাট িরেপািজটিরর নাম। য িরেমাট িরেপািজটির থেক ফাইল ান করা হয় তার নাম
সাধারণত origin দয়া থােক।
িরেমাট িরেপািজটির 12
বাংলায় িগট ভাসন কে ািলং
থেমই আমােদরেক এমন একিট িরেমাট িরেপািজটির তির করেত হেব যা ক ীয় িরেপািজটির িহেসেব ব বহার
করা হেব। আপিন যিদ িবনামূেল github(একিট িগট িরেপািজটির সাভার) ব বহার কেরন তাহেল য কউ
আপনার িরেপািজটিরেত read access পােব। িক bitbucket ব বহার করেল আপিন যিদ িরেপািজটির
public না কের দন তাহেল কউ দখেত পােব না। চাইেল আপিন private িরেপািজটিরেতও আপনার
পছ নীয় ব ি েক read, write অথবা admin access িদেত পারেবন। তাই আপিন য সকল ডেভলপারেক
আপনার িরেপািজটিরেত সংযু করেবন তােদরেক read access িদন।
ফাক(fork): admin ব িতত য সকল ডেভলপার একই িরেপািজটিরেত কাজ করেবন তােদরেক ক ীয় বা
মূল িরেপািজটিরেত Fork করেত হেব। ফাক মােন হে ডেভলপােরর সাভার একাউে (account) মূল
িরেপািজটিরর মত একিট ত িরেপািজটির তির করা। ফাক করার পর ডেভলপার য িরেপািজটির তির
করেবন তা একা ই তার িনজ । এেত মূল িরেপািজটিরর সােথ দৃশ ত কান স ক থাকেব না। পরবতীেত
আমরা চাইেল মূল িরেপািজটিরর সােথ সংেযাগ িদেত পারেবা। একিট িরেপািজটির ফাক করা খুবই সহজ-
মাি পল ডেভলপার 13
বাংলায় িগট ভাসন কে ািলং
এখন এডিমন তার মূল িরেপািজটিরেত একিট নতুন Pull Request পােবন। কাজ পযেব েণর পর তা হন
করার মত হেল মূল িরেপািজটিরর সােথ Merge কের নেবন। উপেরর য ধাপ েলা বণনা করা হেয়েছ স েলা
স ূণ সাভারিভি ক। আপিন চাইেল সাভােরর ওেয়ব সাইেট েবশ না কের িগট কমা এর মাধ েম সরাসির
আপনার িনজ কি উটার থেক ডেভলপারেদর কাজ পযেব ণ করেত পারেবন। সজন আপনােক জানেত
হেব িকভােব আপিন একািধক িরেমাট িরেপািজটিরর সােথ সংযু হেবন। আমরা আগামী িটউটিরয়ােল এ িবষেয়
আেলাচনা করেবা, ইনশাআ াহ।
মাি পল ডেভলপার 14
বাংলায় িগট ভাসন কে ািলং
এখােন name এর জায়গায় আপিন িরেমাট িরেপািজটিরিটেক য নােম ডাকেত চান স নাম হেব। remote-repo-
url এর জায়গায় িরেমাট িরেপািজটিরিটর HTTPS/SSH clone address িদেত হেব। ধ ন আমরা একিট ক ীয়
িরেপািজটির তির করলাম যার নাম হে rms এবং িরেপািজটিরিটর HTTPS clone address হে
https://bitbucket.org/precursortechnology/rms.git । এখন এেত যতজন ডেভলপার কাজ করেব সবাই
এই িরেপািজটিরিট fork করেত হেব। এখন ডেভলপাররা যিদ তােদর িরেপািজটিরেক ক ীয় িরেপািজটিরর
(https://bitbucket.org/precursortechnology/rms.git) সােথ সংেযাগ িদেত চান তাহেল তােদরেক িলখেত
হেব
এখােন আমরা ক ীয় িরেপািজটিরেক চনার জন upstream নাম ব বহার কেরিছ। আপিন চাইেল অন য কান
নাম ব বহার করেত পােরন। এখন িনি ত হওয়ার জন upstream এর মান দখেত পােরন।
একিট িরেপািজটির চাইেল একািধক িরেমাট িরেপািজটিরর সােথ সংযু হেত পারেব। সব েলা remote এর মান
একসােথ দখার কমা -
$ git remote -v
এখন কান ডেভলপার যিদ ক ীয় িরেপািজটিরর ( upstream ) তথ pull করেত চান তাহেল তােক িলখেত হেব -
pull করা মােন হে ঐ িরেপািজটিরর সবেশষ তথ েলা আপনার িরেপািজটিরর সােথ একীভূত কের নয়া। pull
কমা িদেয় মূলত দুিট কাজ করা হয়। থেম িরেমাট িরেপািজটিরিটর তথ েলা fetch কের নয়া হয় এবং পের
স েলা লাকাল িরেপািজটিরর সােথ merge করা হয়। উপেরর কমা িদেয় আমরা upstream নামক িরেমাট
এখন আপনার িনেজর িরেপািজটির (origin) ত upstream এর সব তথ েলা পাঠােত হেল িলখেত হেব -
যেকান িরেমাট remove করার কমা git remote rm <remote-name> . সুতরাং, upstream িরেমাট
remove করেত হেল কমা হেব -
কান িরেমাট rename করার কমা git remote rename <present-name> <new-name> . সুতরাং,
upstream িরেমাট ক origin2 করেত হেল কমা হেব -
িক , িগট- ও িনেয় কাজ করেত হেল আেগ, িগেটর উপর ভাল দখল থাকেত হেব। িগেটর শাখা (branching)
িকভােব কাজ কের সটা ভাল কের জানেত হেব। আর এই ে , কমা লাইেন (command line) এ কাজ করা
সবার আেগ আবশ ক।
িগট- ও পিরিচিত 17
বাংলায় িগট ভাসন কে ািলং
ডিবয়ান িনভরশীল িলনা িসে েম িগট- ও ( git-flow ) ই টল করার জন িনেছর কমা িট রান ক ন
$ sudo apt-get install git-flow
ফডরা িনভরশীল িলনা িসে েম িগট- ও ( git-flow ) ই টল করার জন িনেছর কমা িট রান ক ন
উইে াজ িসে েম িগট- ও ই টল করার জন সবার আেগ cygwin ই টল ক ন। এটা একটা উইে াজ
িসে েম, িলনা এনভায়েরােম তির কের। এরপর িনেছর কমা েলা রান ক নঃ
$ wget -q -O - --no-check-certificate
https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
যিদ এরপর git-flow init রান করার পর কউ "flags: FATAL unable to determine getopt
version" এই error দকেত পায়, তাহেল util-linux package ই টল করেত হেব Cygwin িদেয়।
িগট- ও কনিফগার
িগট- ও কনিফগােরশন করার জন সবার আেগ একটা িগট িরেপািজটির থাকেত হেব। আমরা যখন কান একটা
ােজে git init কির, থাকন সম কাজ েলা একটা িডফ শাখা "ÌÚ ½ÚÏ(master)" এ জমা হেত থােক।
mkdir git-flow-test
touch helloworld.txt
৩। এবার আমরা সবার আেগ এখােন িগট (git) রেপািজেটাির বানাব। এজন আমরা এখােন িনেছর কমা
চালবঃ
git init
৪। এখন আমরা আমােদর চ েলা িগেট যাগ কের একটা কিমট করব। তার জন িনেছর কমা েলা চালাবঃ
৫। এখন আমােদর সব েলা পিরবতন িগেটর াথিমক া master এ আেছ। এখন আমােদর িগট িরেপািজিটির
git-flow বানােনার জন তির। িগট- ও বানােনার জন এখন আমরা িনেছর কমা েলা রান করবঃ
িগট- ও িফচার
িগট- ও িফচার করার আেগ আমরা িকছু িজিনস বানাব। যমন আমরা কান ােজ করার আেগ কান একটা
ােজ ম ােনজেম িসে েম, ােজ িরেলেটড সব িফচার (feature), বাগ (bug) ইত ািদ আমরা িব ািরত লেখ
রািখ। এরপর আমরা িবিভ ডেভলপারেক আমরা তা assign কের দই।
ধির আমােদর ােজে র নােম হেলা "Ûµ½- Ñ° (Hello Git-Flow)" আমােদর কােছ িন িলিখত িফচার েলা
আেছঃ
এখন, আমরা একটা একটা কের িফচাের কাজ করব, Ûµ½- Ñ° (git-flow) ÛɸÚÏ ব বহার কের।
ÅÚÈ-ñò
সবার আেগ আমরা HGT-01 িফচার িনেয় কাজ করব। এজন আমরা কমা িলখব
এখােন আমরা যটা দখেত পারিছ, তা হাল, সবার আেগ develop নােম য া (branch) আেছ, তার উপর
িনভর কের একটা নতুন া (branch) feature/HGT-01 তির হেয়েছ। এরপর য়ংি য় ভােব,ওই াে
(branch) পেয় কের ফেলেছ।
ÅÚÈ-ñó
িগট- ওিফচার 20
বাংলায় িগট ভাসন কে ািলং
এখন আমরা িফচার ডেভলপেমে র কাজ করব এবং মা েয় কিমট করব, যভােব আমরা িগেট (git) কিমট
করতাম। আমরা যত পিরবতন করব, সবই আমােদর বতমান ÛɸÚÏ (featuere) া এ যাগ হেত থাকেব। ধির,
touch project-config.php
nano project-config.php
এবার আমরা ফাইলটা িগেট যাগ করব এবং িগেট কিমট করব
ÅÚÈ-ñô
এবার ধের িনলাম আমােদর িফচার feature ডেভলপেমে র কাজ শষ। এখন আমরা িগট- ও িদেয় আমােদর
িফচার কমি ট করব।
িগট- ওিফচার 21
বাংলায় িগট ভাসন কে ািলং
আমরা যিদ মেন কির, কন একটা িফচার াে অন কউ কাজ করেব, তাহেল আমারা চাইেল িগেট আপ কের িদেত
পাির।এজন আমরা িনেচর কমা টা রান করবঃ
িগট- ওিফচার 22
বাংলায় িগট ভাসন কে ািলং
িগট- ওিফচার 23
বাংলায় িগট ভাসন কে ািলং
িগট- ও িরিলস
িগট- ও এর আেরকিট েয়াজনীয় কমা হাল িগট- ও িরিলস। এটা িদেয় আমরা মূলত একটা development
branch থেক production সাভাের দয়ার মত একটা িরিলস তির কির। এটা িদেয় আমরা খুব সহেজ, একটা
িরিলস এর না ার িদেত পাির, যন খুব সহেজ আমরা আবার পরবতী কান িরিলএেস ব াক করেত পাির।
আমরা যিদ িগট- ও িরিলেসর িসনট া জানেত চাই, তাহেল আমরা কমা লাইেন িগেয় িনেচর কমা টাইপ করেল
হেবঃ
এবার আমরা একটা িরিলস তির করব। আমরা ধের িনি , আমােদর া development। তাহেল আর দির না
কের িনেচর কমা টা রান কির ◌ঃ
িগট- ও িরিলস 24
বাংলায় িগট ভাসন কে ািলং
আমরা এখন দখেত পলাম একটা নতুন া rel-v1.0নােমর একটা নুতুন া তির হেয়েছ।
আমরা এখন জতা করেত পাির, এই া টােক একটা টি ং সাভাের িদেয় দেত পাির। একদল QA দলেক বলেত
পাির, টি ং করেত। যখন, টি ং শষ হেব, আমরা িরিলসটােক finish কের িদেত পাির।
এখন জানেত হেব, িরিলস শষ(finish) করেল িক হয় ◌ঃ আমরা যখনই কান িরিলস শষ করব, িগট- ও
য়ংি য়ভােব িরিলস াে র সকল কাড development branch এবং production branch (master এখােন
production branch) এ merge কের দয়।
িগট- ও িরিলস 25
বাংলায় িগট ভাসন কে ািলং
িগট ট াগ মেসজ
িগট- ও িরিলস 26
বাংলায় িগট ভাসন কে ািলং
িগট িফিনশ শষ
এখন আমরা একটু খয়াল কের summary of Actions এর িদেক খয়াল কের দিখ। এখােন আসেল িগট- ও
িক িক কাজ কেরেছ, তার একটা সারাংশ তুেল ধেরেছ। এবং শব শেষ মা ার া এ িশফট করেছ। মােন, rel-
v1.0 এর সকল কাড এখন (master) মা ার াে ও আেছ এবং development াে ও আেছ।
িগট- ও িরিলস 27
বাংলায় িগট ভাসন কে ািলং
িগট- ও হটিফ
িগট- ও হটিফ 28