গিট

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে
গিট
Git-logo-2012.svg
কমান্ড লাইনে গিট রিপোজিটরি স্থাপন, ফাইল যোগ, এবং সিঙ্ক্রোনাইজ করা হচ্ছে
কমান্ড লাইনে গিট রিপোজিটরি স্থাপন, ফাইল যোগ, এবং সিঙ্ক্রোনাইজ করা হচ্ছে
মূল উদ্ভাবকলিনাস টরভাল্ড্‌স[১]
উন্নয়নকারীজুনিও হামানো এবং অন্যান্যরা[২]
প্রাথমিক সংস্করণ৭ এপ্রিল ২০০৫; ১৭ বছর আগে (2005-04-07)
স্থিতিশীল সংস্করণ
২.২৩.০ / ১৭ আগস্ট ২০১৯; ২ বছর আগে (2019-08-17)[৩]
রিপজিটরি উইকিউপাত্তে এটি সম্পাদনা করুন
যে ভাষায় লিখিতসি, শেল, পার্ল, টিসিএল, পাইথন[৪]
অপারেটিং সিস্টেমপজিক্স: লিনাক্স, উইন্ডোজ, ম্যাক ওএস
উপলব্ধইংরেজি
ধরনসংস্করণ নিয়ন্ত্রণ
লাইসেন্সজিপিএল ২,[৫] এলজিপিএল ২.১,[৬] এবং অন্যান্য
ওয়েবসাইটgit-scm.com

গিট (ইংরেজি: git, /ɡɪt/)[৭] হল একটি ডিস্ট্রিবিউটেড সংস্করণ নিয়ন্ত্রণ (version control) পদ্ধতি যা প্রধানত প্রোগ্রামিং প্রকল্পের উৎস কোডের পরিবর্তন সংরক্ষণে ব্যবহার করা হয়।[৮] এটি প্রোগ্রামারদের মধ্যে কাজের সমন্বয় করার উদ্দেশ্যে তৈরি হলেও যেকোন ধরনের কম্পিউটার ফাইলের পরিবর্তন রক্ষায় ব্যবহার করায় কোন বাধা নেই। গিটের লক্ষ্যসমূহ হল দ্রুতগতি,[৯] তথ্যের বিশুদ্ধতা,[১০] এবং ডিস্ট্রিবিউটেড জটিল বহুমাত্রিক প্রকল্পের সমর্থন।[১১]

লিনাস টরভাল্ড্‌স লিনাক্স কার্নেল প্রোগ্রামিংয়ে সুবিধার জন্য ২০০৫ সালে গিট তৈরি শুরু করেন, এবং অন্যান্য কার্নেল ডেভেলপাররা তাকে প্রারম্ভিক সহায়তা দেন।[১২] বর্তমানে এর তত্ত্বাবধায়ক হিসেবে রয়েছেন জুনিও হামানো

কম্পিউটারে অবস্থিত প্রতিটি গিট ডিরেক্টরি একেকটি পুরোপুরি স্বয়ংসম্পূর্ণ রিপজিটরি (repository) বা সোর্সভাণ্ডার, এবং কোন ধরনের কেন্দ্রীয় সার্ভারের নিয়ন্ত্রণমুক্ত।[১৩]

গ্নু সাধারণ সার্বজনীন লাইসেন্স, ২য় সংস্করণ (GPLv2) এর আওতায় ফ্রি এবং ওপেন সোর্স সফটওয়্যার হিসেবে গিট প্রকাশিত হয়।

ইতিহাস[সম্পাদনা]

২০০৫ সালের শুরুতে লিনাক্স কার্নেলের সোর্স কোড বিটকিপার নামক একটি বাণিজ্যিক ভার্শন কন্ট্রোল ব্যবস্থায় সংরক্ষণ করা হত। কিন্তু বিটকিপারের স্বত্বাধিকারী ল্যারি ম্যাকঅ্যাভয় দাবি করেন কার্নেল ডেভলপার অ্যান্ড্রু ট্রিজেল বিটকিপারের প্রটোকল রিভার্স-ইঞ্জিনিয়ারিং করেছেন, এবং কার্নেলের কাজে সফটওয়্যারটির বিনামূল্য ব্যবহারের অনুমতি উঠিয়ে নেন।[১৪] এর ফলশ্রুতিতে ২০০৫ এর এপ্রিলে বিটকিপারকে প্রতিস্থাপন করার জন্য লিনাক্স কার্নেল-এর জনক ফিনিস নাগরিক লিনাস টরভল্ডস-এর নেতৃত্বে গিট ডেভলপ করা শুরু হয়।[১৫]

টরভাল্ড‌্স যেসব বৈশিষ্ট্য আশা করছিলেন, তা তৎকালীন কোন ভার্শন কন্ট্রোল পদ্ধতিতেই উপস্থিত ছিল না। যেমন, সেসব পদ্ধতিতে সোর্স কোডে প্যাচ প্রয়োগ করতে প্রায় ৩০ সেকেন্ড সময় লাগত, উপরন্তু লিনাক্স কার্নেলের বিস্তৃত সোর্স কোডে এই সময়ের পরিমাণ আরও অণেক গুণ বেড়ে যেত। কিন্তু টরভাল্ড‌্স এক্ষেত্রে ৩ সেকেন্ডের বেশি সময় দিতে রাজি ছিলেন না।[৯] এছাড়া তিনি আরও কয়েকটি লক্ষ্য নির্ধারণ করেন:

  • সিভিএস থেকে কি করা উচিত নয়, তা শেখা; কোন বিষয়ে সন্দেহ হলে সিভিএস যা করে তার ঠিক উল্টো পথ বাছাই করা[১১]
  • ডিস্ট্রিবিউটেড কার্যপদ্ধতির সমর্থন[১১]
  • তথ্যের বিকৃতি (অনৈচ্ছিক বা ইচ্ছাকৃত যেমনটাই হোক) ব্যহত করার জন্য খুব কঠোর ব্যবস্থা রাখা[১০]

এসব লক্ষ্য পূরণ করার মত কোন ব্যবস্থা না পেয়ে, লিনাক্স কার্নেল ২.৬.১২-rc২ সংস্করণ প্রকাশের পর টরভাল্ড‌্স নিজেই এধরনের একটি সফটওয়্যার লিখতে বসেন।[১১]

২০০৫ এর ৩ এপ্রিল গিট ডেভলপ করা শুরু হয়।[১৬] টরভাল্ড‌্স ৬ তারিখে প্রকল্পটি প্রকাশ করেন।[১৭] ৭ এপ্রিল গিট স্ব-আশ্রিত হয় (অর্থাৎ গিটের সোর্স কোড গিট দ্বারাই সংরক্ষণ করা শুরু হয়)।[১৬] ২০০৫ এর ১৬ জুন প্রকাশিত লিনাক্স কার্নেল ২.৬.১২ ছিল গিটের ব্যবস্থাপনাধীনে মুক্তিপ্রাপ্ত প্রথম সংস্করণ।[১৮]

২০০৫ এর ২৬ জুলাই টরভাল্ড‌্স গিটের তত্ত্বাবধায়নের দায়িত্ব প্রকল্পটির অন্যতম অবদানকারী জুনিও হামানোকে দিয়ে দেন।[১৯] হামানো ২০০৫ সালের ২১ ডিসেম্বর গিট ১.০ সংস্করণ প্রকাশ করেন। এখনও তিনি গিটের তত্ত্বাবধায়নের দায়িত্বে রয়েছেন।[২০]

নাম[সম্পাদনা]

ব্রিটিশ ইংরেজি অপভাষায় গিট বলতে বিরক্তিকর লোক বোঝায়। টরভালড‌্স শ্লেষ্মাত্বকভাবে নামটির সম্পর্কে বলেছেন, "আমি মহা অহংকারী লোক, তাই সব প্রজেক্টের নাম নিজের নামেই দিই, প্রথমে 'লিনাক্স', এবার 'গিট'."[২১][২২]। গিটের ম্যান পেজ বর্ণনা করে এভাবে: "দ্য স্টুপিড কনটেন্ট ট্র্যাকার"।[২৩] সোর্স কোডের রিডমি ফাইল আরও বিস্তারিতভাবে বলে:[২৪]

"গিট" নামটা দিয়েছিলেন লিনাস টরভাল্ড‌্স, একদম প্রথম সংস্করণটা লেখার সময়। তিনি একে বলেছেন "দ্য স্টুপিড কনটেন্ট ট্র্যাকার", এবং নামটির ব্যাখ্যা হল (আপনার পছন্দমত):

  • যেকোন তিন-অক্ষরের শব্দ যা উচ্চারণ করা যায়, এবং অন্য কোন ইউনিক্স কমান্ডের নাম নয়। শব্দটা "get" এর ভুল উচ্চারণ, এই তথ্যটা প্রাসঙ্গিক হতে পারে, না-ও হতে পারে।
  • বেকুব। ঘৃণ্য আর জঘন্য। নির্বোধ। তিরস্কারের অভিধান থেকে পছন্দমত যেকোন অর্থ বেছে নিন।
  • "গ্লোবাল ইনফরমেশন ট্র্যাকার": যখন এটা ভালমত কাজ করছে, আর আপনি সন্তুষ্ট। দেবদূতরা গাইছে, আর একটা স্বর্গীয় আলোয় ঘরটা আলোকিত হয়ে আছে।
  • "গডড্যাম ইডিয়টিক ট্রাকলোড অফ শিট": যখন এটা কাজ করছে না।

উল্লেখ্য, এখানে "global information tracker" এবং "goddamn idiotic truckload of sh*t" বাক্যদুটি সংক্ষিপ্ত রূপ "git" হতে পারে।

প্রকাশনা সমূহ[সম্পাদনা]

প্রকাশনা সংস্করণ সংখ্যা পেতে :

git --version

প্রকাশনার তালিকা নিম্নরূপ :

সংস্করণ আসল প্রকাশের তারিখ উল্লেখযোগ্য পরিবর্তন
১.০ ২০০৫-জুলাই-১১
২.০ ২০১৪-মে-২৮
২.৩০ ২০২০-ডিসেম্বর-২৭
  • পিএইচপি আপডেট, মরিচা, সিএসএস আপডেটের জন্য ইউজারডিফ
  • কমান্ড লাইন সমাপ্তি স্ক্রিপ্ট (অবদানে/) শিখেছে যে "গিট স্ট্যাশ শো" বিকল্পগুলি "গিট ডিফ" গ্রহণ করে।
২.৩৫ ২০২২-জানুয়ারী-২৫

বৈশিষ্ট্য[সম্পাদনা]

গিটের নকশার অনুপ্রেরণা ছিল বিটকিপার এবং মোনোটোন[২৫][২৬] গিট প্রথমদিকে তৈরি করা হয়েছিল নিজস্ব ফ্রন্ট-এন্ড বিহীন ভার্সন-কন্ট্রোল ইঞ্জিন হিসাবে।[২৬] তবে প্রকল্পটি পরে স্বয়ংসম্পূর্ণ হয়ে উঠেছে, এবং কোন বাহ্যিক ফ্রন্ট-এন্ড ছাড়াই ব্যবহার করা যায়।[২৭] টরভাল্ড‌্স ইচ্ছা করেই সংস্করণ-নিয়ন্ত্রণ প্রকল্পসমূহের প্রচলিত বিধিমালা এড়িয়ে গেছেন, ফলে গিট একটি অনন্য নকশা অর্জন করেছে।[২৮]

লিনাক্স কার্নেল তৈরির অভিজ্ঞতাকে টরভাল্ড‌্স গিটে প্রয়োগ করেছেন, যা প্রকল্পটির প্রধান কিছু বৈশিষ্ট্য এবং অনন্যতার উৎস। গিটের মৌলিক কিছু বৈশিষ্ট্য হল:

  • অরৈখিক বহুমাত্রিক ডেভলপমেন্ট প্রণালীর সমর্থন
  • ডিস্ট্রিবিউটেড কার্যপ্রণালী
  • বিদ্যমান প্রোটোকল ও যোগাযোগ পদ্ধতির সমর্থন
  • বৃহদাকার প্রকল্পের দ্রুতগতির কর্মক্ষম ব্যবস্থাপনা
  • প্রকল্পের ইতিহাসের ক্রিপ্টোগ্রাফিক নিশ্চয়তা
  • টুলকিট-নির্ভর নকশা কাঠামো
  • সম্প্রসারণযোগ্য মার্জ (সম্মিলন) পদ্ধতি
  • স্বয়ংক্রিয় বর্জ্য ব্যবস্থাপনা
  • স্বয়ংক্রিয় অবজেক্ট সংকোচন
  • প্রকল্পের ফাইলসমূহ ডিরেক্টরি স্ন্যাপশট প্রক্রিয়ায় সংরক্ষণ
Some data flows and storage levels in the Git revision control system

তথ্য কাঠামো[সম্পাদনা]

  • স্ট্যাশ : একরকম অস্থায়ী সঞ্চয় স্থান যেখানে আমাদের স্থানীয় অসমাপ্ত কোড পরিবর্তনগুলো নিবন্ধের পূর্বে রাখা যায়।
  • ওয়ার্কস্পেস  : আমাদের কোড পরিবর্তন স্থান । এখানে অনুসৃত , অননুসৃত ফাইল এবং একটি গিট্ ডিরেক্টরি থাকে।  
  • ইন্ডেক্স/স্টেজ : নিবন্ধের জন্যে কোড পরিবর্তনগুলো এখানে রাখা হয় ।
  • স্থানীয় সঞ্চয়স্থান : নিবন্ধের পরবর্তীতে স্টেজের সমস্ত ফাইল এখানে রাখা হয়।
  • মূল সঞ্চয়স্থান : পুল , পুশ বা ফেচ এর মাধ্যমে স্থানীয় সঞ্চয়স্থানের সাথে দূরবর্তী মূল সঞ্চয়স্থানকে সমন্বিত করা যায়।

কম্যান্ড সমূহ[সম্পাদনা]

স্থাপনাকালীন[সম্পাদনা]

নিবন্ধের সময় ব্যাবহারকারীর নাম জুড়তে :

git config --global user.name "[your name]"

নিবন্ধের সময় ব্যাবহারকারীর ইমেইল আইডি জুড়তে :

git config --global user.email "[your email address]"

স্থানীয় সঞ্চয় তৈরিতে[সম্পাদনা]

বিশেষ নামের সাথে একটি স্থানীয় সঞ্চয়স্থান তৈরিতে :

git init [name]

মূল সঞ্চয়স্থানের একটি প্রতিরূপ তৈরিতে :

git clone [url]

পরিবর্তন ব্যাবস্থাপনায়[সম্পাদনা]

বর্তমান ওয়ার্কস্পেসে সমস্ত ফাইলের স্থিতি জানতে :

git status

স্টেজ না করা ফাইল পরিবর্তনগুলো দেখতে :

git diff

ওয়ার্কস্পেস থেকে স্টেজে পাঠাতে :

git add [file]

স্টেজ থেকে পরিবর্তনগুলো সরাতে :

git reset [file]

স্টেজ এবং মূল সংস্করণের পরিবর্তনগুলো জানতে  :

git diff --commit

স্থানীয় সঞ্চয়স্থানে স্টেজের সমস্ত পরিবর্তন নিবন্ধন করতে :

git commit -m "[commit message]"

স্থানীয় সঞ্চয়স্থানের  সমস্ত শাখা দেখতে :

git brunch

নতুন শাখা তৈরিতে :

git brunch [name]

ওয়ার্কস্পেসে কোনো শাখা চেকআউট করতে  :

git checkout [name]

কোনো শাখাকে বর্তমান শাখায় সংযোজন করতে  :

git merge [name]

কোনো শাখাকে মুছে ফেলতে :

git branch -d [name]

ফাইল সমন্বয় মূলক[সম্পাদনা]

স্থানীয় সঞ্চয় ও স্টেজ থেকে ফাইল মুছে ফেলতে :

git rm [filename]

স্থানীয় সঞ্চয় ও স্টেজ থেকে ফাইল স্থানান্তর করতে  :

git mv [filename-orig] [filename-new]

ইতিহাস মূলক[সম্পাদনা]

নিবন্ধ ইতিহাস দেখতে :

git log

কোনো ফাইলের নিবন্ধ ইতিহাস দেখতে :

git log  --follow [file]

শাখা গঠন ইতিহাস দেখতে :

git log --graph --oneline --decorate --all

দুটি শাখার  মধ্যে পার্থক্য দেখতে :

git diff [brunch1]...[brunch2]

কোনো নিবন্ধের বিস্তারিত তথ্য দেখতে

git show [commit]

সমন্বয় মূলক[সম্পাদনা]

দূরবর্তী সঞ্চয় থেকে স্থানীয় সঞ্চয়ে নামিয়ে আনতে :

git pull

দূরবর্তী সঞ্চয়ে স্থানীয় সঞ্চয় পরিবর্তিনগুলো তুলতে  :

git push

স্থানীয় সঞ্চয় থেকে ওয়ার্কস্পেসে সংযোজন করতে :

git merge

দূরবর্তী সঞ্চয় থেকে স্থানীয় সঞ্চয়ে শাখাকে পুনরুদ্ধার করে কিন্তু ওয়ার্কস্পেসে সংযোজন করে না :

git fetch [branch]

নিবন্ধ সংক্রান্ত[সম্পাদনা]

স্থানীয় সঞ্চয়ে নির্দিষ্ট নিবন্ধ অব্দি সমস্ত নিবন্ধ ফিরিয়ে নিতে :

git reset [commit]

স্টেজ এবং ওয়ার্কস্পেসে নির্দিষ্ট নিবন্ধ অব্দি সমস্ত নিবন্ধ ফিরিয়ে নিতে :

git reset --hard [commit]

আড়াল সংক্রান্ত[সম্পাদনা]

অস্থায়ীভাবে ওয়ার্কস্পেসের পরিবর্তনগুলো আড়াল করতে

git stash

সর্বশেষ আড়াল করা ফাইলগুলোকে পুনরুদ্ধার করতে :

git stash pop

আড়াল করা ফাইল তালিকা পেতে

git stash list

সর্বশেষ আড়াল করা ফাইলগুলোকে সরিয়ে ফেলতে :

git stash drop

বাস্তবায়ন[সম্পাদনা]

gitg হল গিটের একটি গ্রাফিকাল ফ্রন্ট-এন্ড।

গিট মূলত লিনাক্সে ডেভলপ করা হয়, তবে অধিকাংশ প্রচলিত অপারেটিং সিস্টেম সমর্থন করে।[২৯]

প্রথম দিকে উইন্ডোজের জন্য তৈরি গিট প্যাকেজটি ছিল প্রকৃতপক্ষে মিনজিডব্লিউ (MinGW) এবং এমসিস২.০ (সিগউইন এর একটি ফর্ক) এর সমন্বয়ে গঠিত একটি গ্নু/লিনাক্স এমুলেশন ফ্রেমওয়ার্ক। বর্তমানে উইন্ডোজের জন্য ন্যাটিভ ৬৪- এবং ৩২-বিটের গিট প্যাকেজ সরবরাহ করা হয় (যদিও এর সঙ্গেও আগের মতই বিভিন্ন সহায়ক গ্নু প্রোগ্রাম অন্তর্ভুক্ত করা থাকে)।[৩০]

জেগিট (JGit) জাভায় বাস্তবায়িত গিট লাইব্রেরি যা যেকোন জাভা অ্যাপ্লিকেশনে যুক্ত করা যায়। এটি গেরিট এবং ইগিট প্রকল্পদুটির সাহায্যে গঠিত।[৩১]

গো-গিট হল বিশুদ্ধ গো ভাষায় লিখিত গিটের একটি রূপ।[৩২] এটি বর্তমানে গিট রিপজিটরির এসকিউএল ইন্টারফেস হিসেবে ব্যবহার করা যায়[৩৩] এবং গিট কর্মপ্রণালী এনক্রিপ্ট করতে পারে।[৩৪]

পাইথন ২ এবং ৩ শাখার জন্য ডালউইচ নামে গিট সংস্করণ বাস্তবায়িত হয়েছে।[৩৫]

গিটের আনসি সি সফটওয়্যার লাইব্রেরি রূপ হিসেবে তৈরি হয়েছে লিবগিট২ (libgit2), যা একাধিক প্লাটফর্মের জন্য বিল্ড করা যায়,[৩৬] এবং রুবি, পাইথন, হাস্কেল সহ আরও কিছু ভাষায় ব্যবহার করার সুবিধা (binding) রয়েছে।[৩৭][৩৮][৩৯]

জেএস-গিট হচ্ছে জাভাস্ক্রিপ্টে লেখা গিটের অংশবিশেষের বাস্তবায়ন।[৪০]

গিট সার্ভার[সম্পাদনা]

যেহেতু গিট একটি বিতরণকৃত সংস্করণ-নিয়ন্ত্রণ সিস্টেম, এটি বাক্সের বাইরে একটি সার্ভার হিসাবে ব্যবহার করা যেতে পারে। এতে git daemon নামে একটি অন্তর্নির্মিত কমান্ড রয়েছে যা GIT প্রোটোকলে চলমান একটি সাধারণ TCP সার্ভার শুরু করে। ডেডিকেটেড গিট এইচটিটিপি সার্ভারগুলি অ্যাক্সেস নিয়ন্ত্রণ যোগ করে, ওয়েব ইন্টারফেসের মাধ্যমে একটি গিট রিপোজিটরির বিষয়বস্তু প্রদর্শন করে এবং একাধিক সংগ্রহস্থল পরিচালনা করে (অন্যান্য বৈশিষ্ট্যগুলির মধ্যে) সহায়তা করে। ইতিমধ্যে বিদ্যমান গিট রিপোজিটরিগুলিকে ক্লোন করা যেতে পারে এবং অন্যদের দ্বারা সেন্ট্রালাইজড রেপো হিসাবে ব্যবহার করার জন্য শেয়ার করা যেতে পারে। সফ্টওয়্যার ইনস্টল করে এবং ব্যবহারকারীকে লগ ইন করার অনুমতি দিয়ে এটি দূরবর্তী শেল থেকেও অ্যাক্সেস করা যেতে পারে ।

পরিষেবা হিসাবে[সম্পাদনা]

পরিষেবা হিসাবে গিট সংগ্রহস্থলের অনেক অফার রয়েছে। সোর্স-কোড-হোস্টিং সুবিধা হল একটি ফাইল সংরক্ষণাগার এবং সফ্টওয়্যার, ডকুমেন্টেশন, ওয়েব পেজ এবং অন্যান্য কাজের সোর্স কোডের জন্য ওয়েব হোস্টিং সুবিধা , যা সর্বজনীনভাবে বা ব্যক্তিগতভাবে অ্যাক্সেসযোগ্য। সবচেয়ে জনপ্রিয় হল গিটহাব (সর্বাধিক জনপ্রিয়), সোর্সফার্জ (অন্যতম প্রাচীন) , বিটবাকেট এবং GitLab ।

প্রচলন[সম্পাদনা]

এক্লিপ্স ফাউন্ডেশন ২০১৪ সালের বার্ষিক গণজরিপের প্রতিবেদনে প্রকাশ করে যে, জরিপে অংশগ্রহণকারী পেশাদার প্রোগ্রামারদের মধ্যে সর্বাধিক ৪২.৯% গিটের ব্যবহারকারী, অর্থাৎ গিট সর্বাধিক ব্যবহৃত সংস্করণ-নিয়ন্ত্রণ ব্যবস্থা।[৪১] মুক্ত-সোর্স ডিরেক্টরি ওপেন হাবও অনুরূপ প্রতিবেদন প্রকাশ করেছে।[৪২] স্ট্যাক ওভারফ্লো ২০১৫ সালে থেকে তাদের বার্ষিক জরিপে[৪৩] ভার্সন-কন্ট্রোল সফটওয়্যার অন্তর্ভুক্ত করছে। গিট এক্ষেত্রে নিয়মিত অগ্রগণ্য স্থানে রয়েছে, এবং ২০১৮ তে ৮৭.২% এর মত গুরুতর সমর্থনও পেয়েছে।[৪৪][৪৫][৪৬] যুক্তরাজ্যের আইটি পেশার চাকরি সেবার ওয়েবসাইট itjobswatch.co.uk এর প্রতিবেদনে দেখা যায়, ২০১৬ সালে যুক্তরাজ্যে প্রোগ্রামিং পেশায় স্থায়ী চাকুরির ২৯.২৭% বিজ্ঞপ্তিতে গিট অভিজ্ঞতা চাওয়া হয়েছে[৪৭] এবং তার নিকটতম প্রতিদ্বন্দ্বী ছিল ১২.১৭% বিজ্ঞপ্তিতে মাইক্রোসফট টীম ফাউন্ডেশন সার্ভার[৪৮]

আরও দেখুন[সম্পাদনা]

তথ্যসূত্র[সম্পাদনা]

  1. "Initial revision of "git", the information manager from hell"। Github। ৮ এপ্রিল ২০০৫। ১৬ নভেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০ ডিসেম্বর ২০১৫ 
  2. "Commit Graph"। Github। ৮ জুন ২০১৬। ২০ জানুয়ারি ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৯ ডিসেম্বর ২০১৫ 
  3. "Releases - git/git"। সংগ্রহের তারিখ ১৯ আগস্ট ২০১৯ 
  4. "Git Source Code Mirror"। ৮ ফেব্রুয়ারি ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১ জানুয়ারি ২০১৭ 
  5. "Git's GPL license at github.com"github.com। ১৮ জানুয়ারি ২০১০। ১১ এপ্রিল ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১২ অক্টোবর ২০১৪ 
  6. "Git's LGPL license at github.com"github.com। ২০ মে ২০১১। ১১ এপ্রিল ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১২ অক্টোবর ২০১৪ 
  7. "Tech Talk: Linus Torvalds on git (at 00:01:30)"। YouTube। ২০ ডিসেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০ জুলাই ২০১৪ 
  8. Scopatz, Anthony; Huff, Kathryn D. (২০১৫)। Effective Computation in Physics। O'Reilly Media, Inc.। পৃষ্ঠা 351। আইএসবিএন 9781491901595। ৭ মে ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০ এপ্রিল ২০১৬ 
  9. Torvalds, Linus (২০০৫-০৪-০৭)। "Re: Kernel SCM saga.."linux-kernel (মেইলিং তালিকা)।  "So I'm writing some scripts to try to track things a whole lot faster."
  10. Torvalds, Linus (২০০৭-০৬-১০)। "Re: fatal: serious inflate inconsistency"git (মেইলিং তালিকা)। 
  11. Linus Torvalds (৩ মে ২০০৭)। Google tech talk: Linus Torvalds on git। event occurs at 02:30। ২৮ মে ২০০৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৬ মে ২০০৭ 
  12. "A Short History of Git"Pro Git (2nd সংস্করণ)। Apress। ২০১৪। ২৫ ডিসেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৬ ডিসেম্বর ২০১৫ 
  13. Chacon, Scott (২৪ ডিসেম্বর ২০১৪)। Pro Git (2nd সংস্করণ)। New York, NY: Apress। পৃষ্ঠা 29–30। আইএসবিএন 978-1-4842-0077-3। ২৫ ডিসেম্বর ২০১৫ তারিখে মূল থেকে আর্কাইভ করা। 
  14. McAllister, Neil (২ মে ২০০৫)। "Linus Torvalds' BitKeeper blunder"InfoWorld। IDG। ২৬ আগস্ট ২০১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৮ সেপ্টেম্বর ২০১৫ 
  15. "BitKeeper and Linux: The end of the road? |linux.com"। ৮ জুন ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৬ আগস্ট ২০১৯ 
  16. Torvalds, Linus (২০০৭-০২-২৭)। "Re: Trivia: When did git self-host?"git (মেইলিং তালিকা)। 
  17. Torvalds, Linus (২০০৫-০৪-০৬)। "Kernel SCM saga.."linux-kernel (মেইলিং তালিকা)। 
  18. Torvalds, Linus (২০০৫-০৬-১৭)। "Linux 2.6.12"git-commits-head (মেইলিং তালিকা)। 
  19. Torvalds, Linus (২০০৫-০৭-২৭)। "Meet the new maintainer..."git (মেইলিং তালিকা)। 
  20. Hamano, Junio C. (২০০৫-১২-২১)। "Announce: Git 1.0.0"git (মেইলিং তালিকা)। 
  21. "GitFaq: Why the 'Git' name?"। Git.or.cz। ২৩ জুলাই ২০১২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৪ জুলাই ২০১২ 
  22. "After controversy, Torvalds begins work on 'git'"। PC World। ১৪ জুলাই ২০১২। ১ ফেব্রুয়ারি ২০১১ তারিখে মূল থেকে আর্কাইভ করা। Torvalds seemed aware that his decision to drop BitKeeper would also be controversial. When asked why he called the new software, 'git', British slang meaning 'a rotten person', he said. 'I'm an egotistical bastard, so I name all my projects after myself. First Linux, now git.' 
  23. "git(1) Manual Page"। ২১ জুন ২০১২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২১ জুলাই ২০১২ 
  24. "Initial revision of 'git', the information manager from hell · git/git@e83c516"GitHub। ৮ অক্টোবর ২০১৭ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২১ জানুয়ারি ২০১৬ 
  25. Torvalds, Linus (২০০৬-০৫-০৫)। "Re: [ANNOUNCE] Git wiki"linux-kernel (মেইলিং তালিকা)।  "Some historical background" on Git's predecessors
  26. Torvalds, Linus (২০০৫-০৪-০৮)। "Re: Kernel SCM saga"linux-kernel (মেইলিং তালিকা)। সংগ্রহের তারিখ ২০০৮-০২-২০ 
  27. Torvalds, Linus (২০০৬-০৩-২৩)। "Re: Errors GITtifying GCC and Binutils"git (মেইলিং তালিকা)। 
  28. Torvalds, Linus (২০০৬-১০-২০)। "Re: VCS comparison table"git (মেইলিং তালিকা)।  A discussion of Git vs. BitKeeper.
  29. "downloads"। ৮ মে ২০১২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৪ মে ২০১২ 
  30. "msysGit"। ১০ অক্টোবর ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০ সেপ্টেম্বর ২০১৬ 
  31. "JGit"। ৩১ আগস্ট ২০১২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৪ আগস্ট ২০১২ 
  32. "Git - go-git"git-scm.com। সংগ্রহের তারিখ ২০১৯-০৪-১৯ 
  33. "SQL interface to Git repositories, written in Go.", github.com, সংগ্রহের তারিখ ২০১৯-০৪-১৯ 
  34. "Keybase launches encrypted git"keybase.io। সংগ্রহের তারিখ ২০১৯-০৪-১৯ 
  35. "Dulwich"। ২৯ মে ২০১২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৭ আগস্ট ২০১২ 
  36. "libgit2"। ১১ এপ্রিল ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৪ আগস্ট ২০১২ 
  37. "rugged"। ২৪ জুলাই ২০১৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৪ আগস্ট ২০১২ 
  38. "pygit2"। ৫ আগস্ট ২০১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৪ আগস্ট ২০১২ 
  39. "hlibgit2"। ২৫ মে ২০১৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৩০ এপ্রিল ২০১৩ 
  40. "js-git: a JavaScript implementation of Git"। ৭ আগস্ট ২০১৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৩ আগস্ট ২০১৩ 
  41. "Eclipse Community Survey 2014"। ২০১৪-০৬-২৩। সংগ্রহের তারিখ ২০১৯-০৮-১৭ 
  42. "Compare Repositories – Open Hub"। ৭ সেপ্টেম্বর ২০১৪ তারিখে মূল থেকে আর্কাইভ করা। 
  43. Stack Overflow Annual Developer Survey
  44. "Stack Overflow Developer Survey 2018"। Stack Overflow। ৩০ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৯ মে ২০১৯ 
  45. "Stack Overflow Developer Survey 2017"। Stack Overflow। ২৯ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৯ মে ২০১৯ 
  46. "Stack Overflow Developer Survey 2015"। Stack Overflow। ৪ মে ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৯ মে ২০১৯ 
  47. "Git (software) Jobs, Average Salary for Git Distributed Version Control System Skills"। Itjobswatch.co.uk। ৮ অক্টোবর ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৩০ সেপ্টেম্বর ২০১৬ 
  48. "Team Foundation Server Jobs, Average Salary for Microsoft Team Foundation Server (TFS) Skills"। Itjobswatch.co.uk। ২৯ অক্টোবর ২০১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৩০ সেপ্টেম্বর ২০১৬ 

বহি:সংয‌োগ[সম্পাদনা]