গিট হচ্ছে ভার্সন কন্ট্রোল সিস্টেম। ডেভেলপাররা সাধারণত প্রজেক্টের ভার্সন কন্ট্রোল এবং একই প্রজেক্টে একের অধিক ডেভেলপার কাজ করার জন্য গিট ব্যবহার করে।
গিট ইনস্টল ( ম্যাক )
brew install gitগিট আনইনস্টল (ম্যাক)
brew remove gitগিট ইনস্টল (উবুন্টু)
sudo apt-get install gitগিট আনইনস্টল (উবুন্টু)
sudo apt-get remove gitগিট ইন্সটল CentOs
sudo yum install gitগিট আনইনস্টল CentOs
yum remove gitগিট ভার্সন চেক
git --versionগিটটি কোথায় রয়েছে তা দেখুন
which gitগিট সাহায্য
git helpনতুন রিপোজিটরি তৈরী করা
git initকোনো রিপোজিটরি ক্লোন করা(লোকাল মেশিনে ডাউনলোড করা)
git clone [url]রিপোজিটরি এর বর্তমান অবস্থা/পরিবর্তনগুলো দেখা (নতুন অথবা পুরোনো, কি কি ফাইল কমিট করতে হবে, ওয়ার্কিং ব্রাঞ্চ ইত্যাদি)
git statusকমিট এর জন্যে সব পরিবর্তিত ফাইল এড করা
git add OR git add . OR git add --all OR git add -Aকাস্টম ফাইল কমিট এর জন্যে এড করা
git add index.html OR git add [file]একটি নির্দিষ্ট এক্সটেনশন এর সকল ফাইল এড করা
git add *.extএকটি নির্দিষ্ট ফোল্ডারের সকল ফাইল এড করা
git add /folderএকটি নির্দিষ্ট ফোল্ডারের একটি নির্দিষ্ট এক্সটেনশন এর সকল ফাইল এড করা
git add folder/*.extরিপোজিটরি তে কিছু কমিট করা (কমিট মেসেজসহ)
git commit -m "YourCommitMessage"কমিট মেসেজ সংশোধন করা
git commit --amend -m "your message"টাইটেল এবং ডেসক্রিপশন সহ কমিট করতে
git commit -m "Title" -m "Description..."অ্যাড এবং কমিট এক স্টেপ এ করতে
git commit -am "Message"নির্দিষ্ট কমিট দেখা
git show {commit-id}সমস্ত পরিবর্তন আপডেট করতে
git add -uফাইল রিমুভ করতে
git rm index.htmlরিপোজিটরিতে এড করা ফাইল আনট্র্যাক করা
git rm --cached index.html OR git rm --cached filenamegitignore এ থাকা সকল ফাইল আনট্র্যাক করা
git rm -r --cached .ফাইল মুভ অথবা রিনেইম করতে
git mv index.html dir/index_new.htmlনির্দিষ্ট কমিট পরিবর্তন না করা (ফাইল সর্বশেষ কমিট ভার্সন থেকে রিস্টোর করতে)
git checkout -- index.htmlসকল কমিট পরিবর্তন না করা
git checkout -- .ফাইল কাস্টম কমিট ভার্সন থেকে রিস্টোর করতে (কারেন্ট ব্রাঞ্চ এ)
git checkout 6eb715d -- index.htmlআনট্র্যাক ফাইলগুলো টেস্ট ডিলিট করতে
git clean -nআনট্র্যাক ফাইলগুলো ডিলিট করতে
git clean -fআনস্টেজড (undo adds)
git reset HEAD index.htmlট্রু মার্জ (fast forward)
git merge branchnameমাস্টারে মার্জ করতে (only if fast forward)
git merge --ff-only branchnameমাস্টারে মার্জ করতে (force a new commit)
git merge --no-ff branchnameমার্জ বন্ধ করতে (in case of conflicts)
git merge --abortমার্জ বন্ধ করতে (in case of conflicts)
git reset --merge // prior to v1.7.4লোকাল মার্জ আন্ডু করতে যেই মার্জটি এখনো পুশ করা হইনাই
git reset --hard origin/mainস্পেসিফিক একটি কমিট মার্জ করতে
git cherry-pick {commit-id}রিবেস
git checkout branchname » git rebase main OR git merge main branchnameরিবেস ক্যানসেল করতে
git rebase --abortমাল্টিপল কমিট একটি কমিট এ স্কোয়াশ করতে
git rebase -i HEAD~3 (source)ফীচার ব্রাঞ্চ Squash-merge করতে (একটি কমিট এ)
git merge --squash branchname (commit afterwards)কমিট লগ বিস্তারিত দেখতে
git logএক লাইন এ কমিট লগ এর সামারি শো করতে
git log --onelineএক লাইন এ কমিট লগ এর সামারি ফুল SHA-1 ফরম্যাট এ শো করতে
git log --format=onelineকমিট লগ সামারি আকারে দেখতে((৫টি)
git log --oneline -5শুধুমাত্র কাস্টম কমিটগুলো শো করতে
git log --author="Sven" git log --grep="Message" git log --until=2013-01-01 git log --since=2013-01-01শুধুমাত্র কাস্টম কমিট এর ডাটা শো করতে
git log --format=short git log --format=full git log --format=fuller git log --format=email git log --format=rawপরিবর্তনগুলি শো করতে
git log -pশুধুমাত্র কাস্টম ফাইল এর সবগুলো কমিট শো করতে
git log 6eb715d.. index.htmlশুধুমাত্র কাস্টম ফাইল এর সবগুলো কমিট এর পরিবর্তনগুলি শো করতে
git log -p 6eb715d.. index.htmlকমিটগুলোর স্ট্যাটাস এবং সামারি শো করতে
git log --stat "," git log --stat --summaryএকচুয়াল চেইঞ্জেস গুলো দেখাতে
git log --patchসর্বশেষ তিনটি এন্ট্রি দেখতে
git log -3কোন ডেট এর আগের লগ গুলো দেখতে
git log --before= '2020-08-17' এক সাপ্তাহ আগের লগ দেখতে
git log --before='one week ago'কমিটগুলোর হিস্ট্রি গ্রাফ আকারে শো করতে
git log --graphকমিটগুলোর হিস্ট্রি গ্রাফ আকারে সামারি শো করতে
git log --oneline --graph --all --decorateট্যাগ লিস্ট দেখতে
git tagট্যাগ তৈরি করা
git tag [tag-name]প্রকাশিত সবগুলো ভার্শন কমিটগুলো সহ শো করতে
git tag -l -n1রিলিজ ভার্শন তৈরী করতে
git tag v1.0.0কমেন্টসহ রিলিজ ভার্শন তৈরী করতে
git tag -a v1.0.0 -m 'Message'নির্দিষ্ট রিলিজ ভার্শনে চেকআউট করতে
git checkout v1.0.0Homebrew দিয়ে গিট flow ইনস্টল (ম্যাক)
brew install git-flow-avhMacports দিয়ে গিট flow ইনস্টল (ম্যাক)
port install git-flow-avhগিট flow ইনস্টল (লিনাক্স)
apt-get install git-flowগিট flow ইনস্টল (উইন্ডোজ)
wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bashগিট flow শুরু করা
git flow initনতুন ফিচার শুরু করা
git flow feature start features_nameফিচার শেষ করা
git flow feature finish features_nameফিচার পাবলিশ করা
git flow feature publish features_nameফিচার পুল করা
git flow feature pull origin features_nameফিচার ট্র্যাক করা
git flow feature track features_nameরিলিজ শুরু করা
git flow release start RELEASE [BASE]রিলিজ শেষ করা
git flow release finish RELEASEরিলিজ পাবলিশ করা
git flow release publish RELEASEরিলিজ ট্র্যাক করা
git flow release track RELEASEহটফিক্স শুরু করা
git flow hotfix start VERSION [BASENAME]হটফিক্স শেষ করা
git flow hotfix finish VERSIONগিট এর গ্লোবাল ইউজার নেম সেট করা
git config --global user.name "username"গিট এর গ্লোবাল ইউজার নেম চেক করা
git config --global user.nameগিট এর গ্লোবাল ইউজার ইমেল সেট করা
git config --global user.email "[email protected]"গিট এর গ্লোবাল ইউজার ইমেল চেক করা
git config --global user.emailগিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার নেম সেট করা
git config user.name "username"গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার নেম চেক করা
git config user.nameগিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার ইমেল সেট করা
git config user.email "[email protected]"গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার ইমেল চেক করা
git config user.emailগিট এর গ্লোবাল ইউজার নেম বাতিল করা
git config --global --unset-all user.nameগিট এর গ্লোবাল ইউজার ইমেইল বাতিল করা
git config --global --unset-all user.emailগিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার নেম বাতিল করা
git config --unset user.nameগিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার ইমেইল বাতিল করা
git config --unset user.emailএকটি নির্দিষ্ট ব্রাঞ্চের জন্য ইউজার নেম, পাসওয়ার্ড সেভ করা
git config credential.helper storeসকল ব্রাঞ্চের জন্য ইউজার নেম, পাসওয়ার্ড সেভ করা
git config --global credential.helper storeকমিট প্রত্যাবর্তন করা
git revert {commit-id} OR git revert <commit hash>সর্বশেষ কমিট প্রত্যাবর্তন করা
git revert HEADনির্দিষ্ট কমিট প্রত্যাবর্তন করা
git revert -n <commit hash>সফট রিসেট (move HEAD only; neither staging nor working dir is changed)
git reset --soft {commit-id}শেষ কমিট থেকে stage এরিয়া তে মুভ করা
git reset --soft HEAD~মিক্সেড রিসেট (move HEAD and change staging to match repo; does not affect working dir)
git reset --mixed {commit-id}হার্ড রিসেট (move HEAD and change staging dir and working dir to match repo)
git reset --hard {commit-id}শেষ কমিট ডিলেট করা
git reset --hard HEAD^শেষ দুটি কমিট ডিলেট করা
git reset --hard HEAD^^সিঙ্গেল ফাইল হার্ড রিসেট করতে (@ is short for HEAD)
git checkout @ -- index.htmlসব লোকাল ব্রাঞ্চ এর নাম লিস্ট করা
git branchনতুন ব্রাঞ্চ তৈরী
git branch [branch_name]ব্রাঞ্চ চেঞ্জ করতে
git checkout [branch_name]বর্তমান ব্রাঞ্চ থেকে পূর্বের ব্রাঞ্চ এ দ্রুত টগল করা
git checkout -ব্রাঞ্চ চেঞ্জ করতে(নতুন কমান্ড)
git switch [branch_name]ব্রাঞ্চ তৈরী এবং চেঞ্জ করা
git checkout -b "branch name"রিপোজিটরি/ব্রাঞ্চ রিনেম করা
git branch -m branchname new_branchname OR git branch --move branchname new_branchnameকারেন্ট ব্রাঞ্চ এর সাথে মার্জ করা সকল ব্রাঞ্চগুলো শো করতে
git branch --mergedব্রাঞ্চ রিমুভ করা (only possible if not HEAD)
git branch -d branchname OR git branch --delete branchnameরিমোট ব্রাঞ্চ রিমুভ করা
git push --delete origin [branch-name]মার্জ করা না এমন ব্রাঞ্চ রিমুভ করতে
git branch -D branch_to_deleteস্টাশ এ রাখতে
git stash save "Message"স্টাশ লিস্ট শো করতে
git stash listস্টাশ স্ট্যাটাস শো করতে
git stash show stash@{0}স্টাশ এর পরিবর্তনগুলি শো করতে
git stash show -p stash@{0}স্টাশ এর সবগুলি আইটেম একসাথে ব্যবহার এবং ড্রপ করতে
git stash popস্টাশ লিস্ট এর স্পেসিফিক আইটেম ব্যবহার এবং ড্রপ করতে
git stash pop stash@{0}স্টাশ লিস্ট এর স্পেসিফিক আইটেম শুধু ব্যবহার এবং ড্রপ না করতে
git stash apply stash@{0}কাস্টম স্টাশ আইটেম ব্যবহার এবং ইনডেক্স করতে
git stash apply --indexস্টাশ থেকে নতুন ব্রাঞ্চ করতে
git stash branch new_branchস্টাশ লিস্ট এর প্রথম আইটেম বাদ দিতে
git stash dropস্টাশ লিস্ট এর স্পেসিফিক আইটেম বাদ দিতে
git stash drop stash@{0}সম্পূর্ণ স্টাশ ডিলিট করতে
git stash clearশেষ কমিট এবং বর্তমান unstaged ভার্শনের পার্থক্য দেখা
git diffমডিফাইড ফাইলস তুলনা এবং পরিবর্তনগুলি হাইলাইট করতে
git diff --color-words index.htmlশেষ কমিট এবং বর্তমান staged ভার্শনের পার্থক্য দেখা
git diff --stagedসর্বশেষ কমিটের আগের কমিট ও সর্বশেষ কমিটের মাঝে তুলনা করতে
git diff HEAD^ HEADব্রাঞ্চগুলো তুলনা করতে
git diff main..branchnameউপরের মত ব্রাঞ্চগুলো তুলনা করতে
git diff --color-words main..branchname^কমিটগুলো তুলনা করতে
git diff {commit-id} git diff {commit-id}..HEAD git diff {commit-id}..{commit-id}ফাইল এর কমিটগুলো তুলনা করতে
git diff {commit-id} index.html git diff {commit-id}..{commit-id} index.htmlদরকারী তুলনা
git diff --stat --summary {commit-id}..HEADব্ল্যাম
git blame -L10,+1 index.htmlরিমোট শো করতে
git remoteসবগুলো রিমোটের লিস্ট নাম এবং URL সহ দেখা
git remote -vনতুন রিমোট এড করা
git remote add <RemoteName> <RemoteURL> রিমোট পরিবর্তন করা
git remote set-url <RemoteName> <RemoteURL>Fork রিপোজিটরি ক্ষেত্রে আপস্ট্রিম রিমোট এড করা
git remote add upstream <RemoteURL>Fork রিপোজিটরি ক্ষেত্রে আপস্ট্রিম রিমোট পরিবর্তন করা
git remote set-url upstream <RemoteURL>সার্ভারে আপস্ট্রিম রিমোট কনফিগার করা
git remote add upstream ssh://[email protected]/path/to/repository/.gitঅন্য রিপোজিটরি থেকে ব্রাঞ্চ/রেফ/অবজেক্ট fetch করা
git fetch RepositoryNameFetch/Fork রিপোজিটরি কে আপস্ট্রিম(upstream) এর সাথে up-to-date রাখা
git fetch upstreamfetched কমিটগুলো মার্জ করতে
git merge upstream/main OR git merge upstream/branchnameকাস্টম ব্রাঞ্চ Fetch করতে
git fetch upstream branchname:local_branchnameঅরিজিন রিমুভ করতে
git remote rm originসব রিমোট ব্রাঞ্চ এর নাম লিস্ট করা
git branch -rসব লোকাল এবং রিমোট ব্রাঞ্চ এর নাম লিস্ট করা
git branch -aরিমোট ব্রাঞ্চ থেকে ব্রাঞ্চ তৈরি এবং চেকআউট করতে
git checkout -b local_branchname upstream/remote_branchnameরিপোজিটরি তে লোকাল ব্রাঞ্চ থেকে আপলোড করা
git push -u origin main OR git push -u origin [branchName]পুশ
git push origin mainবর্তমান/ Checkout/ Current ব্রাঞ্চ এ পুশ করতে
git push origin HEADফোর্স পুশ
git push origin main --forceরিপোজিটরি থেকে নতুন চেঞ্জ গুলো পুল করা
git pullস্পেসিফিক ব্রাঞ্চ পুল করতে
git pull origin branchnameকোনো রিপোজিটরি ক্লোন করা(লোকাল মেশিনে ডাউনলোড করা)
git clone https://github.com/user/project.git OR git clone ssh://[email protected]/~/dir/.gitলোকাল ফোল্ডার এ ক্লোন করতে
git clone https://github.com/user/project.git ~/dir/folderস্পেসিফিক ব্রাঞ্চ লোকাল এ ক্লোন করতে
git clone -b branchname https://github.com/user/project.gitঅথেনটিকেশন টোকেন ব্যবহার করে ক্লোন করতে
git clone https://oauth2:<token>@gitlab.com/username/repo.gitরিমোট ব্রাঞ্চ ডিলিট করতে
git push origin :branchname OR git push origin --delete branchnameকন্ট্রিবিউটরদের নামের লিস্ট দেখা
git shortlog -snকন্ট্রিবিউটরদের নাম এবং তাঁদের সকল কমিট লিস্ট আকারে দেখা
git shortlog