tutorial - github




Beginners জন্য গিট: নির্দিষ্ট ব্যবহারিক গাইড (20)

ঠিক আছে, পিজে হাইট এই পোস্টটি দেখে পরে, আমি শেষ পর্যন্ত যেতে এবং Git দিয়ে যেতে সিদ্ধান্ত নিয়েছে।

তাই আমি কি প্রয়োজন Git একটি শিক্ষানবিস এর বাস্তব গাইড। "সংগ্রাহক" কে সংজ্ঞায়িত করা হচ্ছে যে কেউ নিজের কম্পাইলারকে কীভাবে পরিচালনা করতে পারে তা বোঝা যায়, Makefile কি কিছু স্তরের বোঝে এবং এটি খুব ভালভাবে বুঝে উৎস নিয়ন্ত্রণকে স্পর্শ করেছে।

এই ব্যক্তি হিসাবে "প্র্যাকটিসাল" সংজ্ঞায়িত করা হয় না যা গিট পটভূমিতে যা করছেন তার বিষয়ে দুর্দান্ত তথ্য পেতে চায় না এবং এটি বিতরণ করা নাও (বা জানেন) এটিও যত্ন করে না। আপনার উত্তর সম্ভাব্যতার দিকে ইঙ্গিত দিতে পারে, তবে যে কোনও 'সার্ভার' তে একটি 'প্রধান' রিপোজিটরি রাখতে চাইছে এমন শিক্ষানবিসকে লক্ষ্য করার চেষ্টা করুন যা ব্যাক আপ এবং সুরক্ষিত, এবং তাদের স্থানীয় সংগ্রহস্থলটি কেবলমাত্র 'ক্লায়েন্ট' সংস্থার হিসাবে ব্যবহার করে।

তাই:

ইনস্টলেশন / সেটআপ

কোড সঙ্গে কাজ করে

ট্যাগিং, শাখা, রিলিজ, baselines

অন্যান্য

  • একটি ভাল GUI, আইডিই প্লাগইন ইত্যাদি বর্ণনা করুন এবং লিঙ্ক করুন যা গিটকে একটি অ-কমান্ড লাইন সংস্থান করে তোলে, তবে দয়া করে তার সীমাবদ্ধতাগুলি এবং তার ভাল তালিকাটি তালিকাভুক্ত করুন।
    • msysgit - গিট সঙ্গে অন্তর্ভুক্ত ক্রস প্ল্যাটফর্ম ,.
    • msysgit - গিট সঙ্গে অন্তর্ভুক্ত ক্রস প্ল্যাটফর্ম ইতিহাস ভিউয়ার
    • msysgit - ম্যাক ওএস এক্স
    • msysgit - ম্যাক ওএস এক্স ইতিহাস দর্শক
    • msysgit - ক্রস প্ল্যাটফর্ম, বাণিজ্যিক, বিটা
    • tig - লিনাক্স জন্য কনসোল GUI
    • qgit - উইন্ডোজ, লিনাক্সের জন্য GUI
    • msysgit - উইন্ডোজের জন্য প্যাকেজ, বন্ধুত্বপূর্ণ GUI অন্তর্ভুক্ত
  • অন্য কোন সাধারণ কাজ একটি শিখতে হবে জানা উচিত?
  • কিভাবে আমার সোর্স কন্ট্রোল সোর্স হিসাবে একটি সাবভার্সন রিপোজিটরি সেট দিয়ে কার্যকরভাবে কাজ করব?

অন্যান্য গিটার শিক্ষানবিস এর রেফারেন্স

Git মধ্যে Delving

আমি বারবার এন্ট্রিগুলি দিয়ে যাব এবং তাদের 'সুশৃঙ্খল' করব যাতে তাদের সামঞ্জস্যপূর্ণ চেহারা / অনুভূতি থাকে এবং তালিকাটি স্ক্যান করা সহজ হয় - সহজে শিরোনামটি অনুসরণ করুন - শিরোনাম - সংক্ষিপ্ত ব্যাখ্যা - নির্দেশাবলী তালিকা - গোটচাস এবং অতিরিক্ত তথ্য "টেমপ্লেট। আমি উপরে বুলেট তালিকা থেকে এন্ট্রিতে লিঙ্ক করব যাতে এটি পরে তাদের খুঁজে পাওয়া সহজ।


কিভাবে আপনি একটি নতুন প্রকল্প / সংগ্রহস্থল তৈরি করবেন?

একটি git repository কেবল একটি বিশেষ .git ডিরেক্টরি ধারণকারী একটি ডিরেক্টরি।

এটি "কেন্দ্রীভূত" সংস্করণ-নিয়ন্ত্রণ সিস্টেম (সাবভার্সনের মতো) থেকে আলাদা, যেখানে একটি "রিপোজিটরি" একটি দূরবর্তী সার্ভারে হোস্ট করা হয়, যা আপনি "কার্যকারী অনুলিপি" ডিরেক্টরির মধ্যে checkout করেন। Git সঙ্গে, আপনার কাজ কপি সংগ্রহস্থল।

আপনি যে ফাইলগুলি ট্র্যাক করতে চান তা রয়েছে এমন ডিরেক্টরির মধ্যে কেবল git init চালান।

উদাহরণ স্বরূপ,

cd ~/code/project001/
git init

এটি বর্তমান ডিরেক্টরিতে একটি .git (লুকানো) ফোল্ডার তৈরি করে।

একটি নতুন প্রকল্প তৈরি করার জন্য, অতিরিক্ত আর্গুমেন্ট (ডিরেক্টরি তৈরির নাম) সহ git init চালান:

git init project002

(This is equivalent to: mkdir project002 && cd project002 && git init)

বর্তমান বর্তমান পথটি একটি গিট রিপোজিটরির মধ্যে কিনা তা পরীক্ষা করার জন্য, কেবল git status চালান - যদি এটি একটি সংগ্রহস্থল না হয় তবে এটি "মারাত্মক: একটি গিট সংগ্রহস্থল নয়"

আপনি .git ডিরেক্টরিটি তালিকাভুক্ত করতে পারেন এবং এটিতে নিম্নলিখিতগুলির অনুরূপ ফাইল / ডিরেক্টরি রয়েছে তা পরীক্ষা করে দেখুন:

$ ls .git
HEAD         config       hooks/       objects/
branches/    description  info/        refs/

কোনও কারণে যদি আপনি "ডি-গিট" একটি সংগ্রহস্থলের জন্য চান (আপনি সেই প্রকল্পের ট্র্যাক করতে গিট ব্যবহার বন্ধ করতে চান)। শুধু .git বেস লেভেলে .git ডিরেক্টরিটি সরান।

cd ~/code/project001/
rm -rf .git/

সতর্কতা: এটি সমস্ত পুনর্বিবেচনার ইতিহাস, আপনার সমস্ত ট্যাগগুলি ধ্বংস করবে, সবকিছু জিট করেছে। এটি "বর্তমান" ফাইলগুলিকে স্পর্শ করবে না (আপনি যে ফাইলগুলি বর্তমানে দেখতে পাচ্ছেন), তবে পূর্ববর্তী পরিবর্তন, মুছে ফেলা ফাইলগুলি এবং এগুলি অননুমোদিত হবে!


কিভাবে আপনি একটি শেয়ার্ড টিম রিপোজিটরি সেট আপ করবেন?

কিভাবে একটি সাধারণ সংগ্রহস্থল সেট আপ করা হয় here বর্ণনা here - কিন্তু কিভাবে আপনি একটি টিম সংগ্রহস্থল সেট আপ করতে পারেন যে সবাই টান এবং থেকে ধাক্কা এবং করতে পারেন?

একটি ভাগ করা NFS ফাইল সিস্টেম ব্যবহার করে

আপনার দলের অনুমান করা ইতিমধ্যে উদাহরণস্বরূপ একটি ভাগ করা গ্রুপ সদস্যপদ ব্যবহার করা যেতে পারে।

mkdir /your/share/folder/project.git
cd /your/share/folder/project.git
newgrp yourteamgroup # if necessary
git init --bare --shared

এই রিপোজিটরিটি ব্যবহার করা শুরু করার জন্য সহজতম জিনিসটি এমন একটি স্থানীয় সংগ্রহস্থল থেকে শুরু করা যা আপনি ইতিমধ্যে ব্যবহার করছেন:

cd your/local/workspace/project
git remote add origin /your/share/folder/project.git
git push origin master

অন্যরা এখন এই ক্লোন করতে এবং কাজ শুরু করতে পারেন:

cd your/local/workspace
git clone /your/share/folder/project.git

SSH ব্যবহার করে

লক্ষ্য সার্ভারে একটি ব্যবহারকারী অ্যাকাউন্ট সেট আপ করুন। আপনি কোনও পাসওয়ার্ড, পাসওয়ার্ড দিয়ে অ্যাকাউন্ট, অথবা authorized_keys keys ব্যবহার করে অ্যাকাউন্টটি ব্যবহার করেন কিনা তা সত্যিই আপনার প্রয়োজনীয় স্তরের নিরাপত্তার উপর নির্ভর করে। আরো কিছু তথ্যের জন্য এসএসএইচ উপর গিট কনফিগার করার জন্য একটি কটাক্ষপাত করুন।

যদি সমস্ত বিকাশকারী এই শেয়ার্ড রিপোজিটরিটি অ্যাক্সেসের জন্য একই অ্যাকাউন্ট ব্যবহার করে তবে আপনাকে উপরে বর্ণিত --shared বিকল্পটি ব্যবহার করতে হবে না।

উপরে হিসাবে একই ভাবে রিপোজিটরিতে প্রবেশ করার পরে, আপনি প্রাথমিক ধাক্কাটি এইভাবে করবেন:

cd your/local/workspace/project
git remote add origin [email protected]:/path/to/project.git
git push origin master

উপরে সঙ্গে সাদৃশ্য দেখুন? একাউন্টে পাসওয়ার্ডটি থাকলে এসএসএইচ একটি পাসওয়ার্ড চাইলে অতিরিক্ত কিছু ঘটতে পারে।যদি আপনি পাসওয়ার্ড ছাড়াই একটি অ্যাকাউন্টে এই প্রম্পটটি পান তবে SSH সার্ভারটি সম্ভবত অক্ষম করা হয়েছে PermitEmptyPasswords

Cloning এখন এই মত দেখায়:

cd your/local/workspace
git clone [email protected]:/path/to/project.git

গিট রিসেট

বলুন আপনি একটি টান করুন, আপনার কোডে এটি একত্র করুন, এবং আপনি এটা পছন্দ না সিদ্ধান্ত। জিট-লোগ, বা টিগ ব্যবহার করুন এবং যেখানেই আপনি ফিরে যেতে চান সেখানে হ্যাশটি খুঁজুন (সম্ভবত পুল / মার্জ করার আগে আপনার শেষ কাজ) হ্যাশ অনুলিপি করুন এবং করুন:

# Revert to a previous commit by hash:
git-reset --hard <hash>

পরিবর্তে হ্যাশের, আপনি পূর্ববর্তী কমিটির জন্য শর্টকাট হিসাবে HEAD ^ ব্যবহার করতে পারেন।

# Revert to previous commit:
git-reset --hard HEAD^

জিট ইনস্টল কিভাবে

উইন্ডোজ এ:

msysgit ইনস্টল করুন

বিভিন্ন ডাউনলোড আছে:

  • গিট: আপনি বিশেষত নীচের অন্যান্য বিকল্পগুলির মধ্যে একটি প্রয়োজন না হওয়া পর্যন্ত এটি ব্যবহার করুন।
  • পোর্টেবল জিট : এটি ব্যবহার করুন যদি আপনি পিসিতে ইনস্টল না করে জিটি চালাতে চান (যেমন একটি ইউএসবি ড্রাইভ থেকে চলমান গিট)
  • msysGit: আপনি Git নিজেই বিকাশ করতে চান তাহলে এই ব্যবহার করুন। আপনি যদি আপনার সোর্স কোডের জন্য Git ব্যবহার করতে চান তবে Git এর সোর্স কোড সম্পাদনা করতে চান না তবে আপনার এটি দরকার হবে না।

এটি একটি সিগুইন ব্যাশ শেলও ইনস্টল করে, যাতে আপনি একটি নিসার শেল (cmd.exe এর চেয়ে) এ git ব্যবহার করতে পারেন এবং গিট-গুই ( git gui কমান্ডের মাধ্যমে অ্যাক্সেসযোগ্য বা Start > All Programs > Git মেনু সহ অ্যাক্সেসযোগ্য) অন্তর্ভুক্ত করে।

ম্যাক ওএস এক্স

git-osx-installer ব্যবহার করুন, অথবা আপনি উৎস থেকেও ইনস্টল করতে পারেন

একটি প্যাকেজ ম্যানেজারের মাধ্যমে

আপনার স্থানীয় প্যাকেজ ম্যানেজার ব্যবহার করে git ইনস্টল করুন। উদাহরণস্বরূপ, ডেবিয়ান (বা উবুন্টু):

apt-get install git-core

অথবা ম্যাক ওএস এক্স, MacPorts মাধ্যমে:

sudo port install git-core+bash_completion+doc

... বা ফিনক:

fink install git

... বা Homebrew :

brew install git

Red Hat ভিত্তিক ডিস্ট্রিবিউশনে, যেমন ফেডোরা:

yum install git

সিগুইনটিতে গিট প্যাকেজটি "ডেভেল" বিভাগের অধীনে পাওয়া যেতে পারে

উত্স থেকে (ম্যাক ওএস এক্স / লিনাক্স / বিএসডি / ইত্যাদি)

ম্যাক ওএস এক্স এ, যদি আপনার বিকাশকারী সরঞ্জাম ইনস্টল থাকে, তবে আপনি খুব সহজেই উৎস থেকে গিট সংকলন করতে পারেন। http://git-scm.com/ থেকে একটি .tar.bz বা .tar.gz হিসাবে Git এর সর্বশেষ সংস্করণটি ডাউনলোড করুন এবং এটি বের করুন (ফাইন্ডারে ডাবল ক্লিক করুন)

লিনাক্স / বিএসডি / ইত্যাদি। এটা অনেক একই হতে হবে। উদাহরণস্বরূপ, ডেবিয়ান (এবং উবুন্টু) এ, আপনি এডটিএর মাধ্যমে build-essential প্যাকেজ ইনস্টল করতে হবে।

তারপর একটি টার্মিনালে, cd যেখানে আপনি ফাইলগুলি সরিয়ে নিয়েছেন ( cd ~/Downloads/git*/ চালানো উচিত), এবং তারপর চালান ..

./configure && make && sudo make install

এটি ডিফল্ট স্থানে জিট ইনস্টল করবে ( /usr/local - তাই git /usr/local/bin/git )

এটি আপনাকে আপনার পাসওয়ার্ডটি প্রবেশ করতে হবে ( sudo জন্য), এটি তাই এটি /usr/local/ ডিরেক্টরিতে লিখতে পারে, যা শুধুমাত্র "root" ব্যবহারকারীর দ্বারা অ্যাক্সেস করা যেতে পারে তাই সুডো প্রয়োজন!

যদি আপনি এটি কোথাও পৃথক ইনস্টল করতে চান (তাই গিটের ফাইলগুলি অন্যান্য সরঞ্জামগুলির সাথে মিশ্রিত হয় না), কনফিগারেশন কমান্ডের সাথে --prefix ব্যবহার করুন:

./configure --prefix=/usr/local/gitpath
make
sudo make install

এটি /usr/local/bin/gitpath/bin/git ইনস্টল করবে - তাই আপনাকে যে সময় টাইপ করতে হবে তা টাইপ করতে হবে না, আপনার নিম্নলিখিত পংক্তিটি যোগ করে আপনার $PATH যোগ করা উচিত ~/.profile :

export PATH="${PATH}:/usr/local/bin/gitpath/bin/"

আপনার যদি --prefix=/Users/myusername/bin অ্যাক্সেস না থাকে তবে আপনি --prefix=/Users/myusername/bin ব্যবহার করতে পারেন এবং আপনার হোম ডিরেক্টরিতে ইনস্টল করতে পারেন। ~/bin/ $PATH যোগ করতে মনে রাখবেন

স্ক্রিপ্ট x-git-update-to-latest-version অনেকগুলি স্বয়ংক্রিয় করে:

এই স্ক্রিপ্টটি গিট রেপোর স্থানীয় ক্লোন আপডেট করে (লোকেল ~/work/track/git ), এবং তারপর কনফিগার করে, ইনস্টল করে ( /usr/local/git - git describe ) এবং /usr/local/git symlink আপডেট করে।

এই ভাবে, আমি আমার /usr/local/git/bin পারি এবং আমি সর্বদা সর্বশেষ সংস্করণ ব্যবহার করছি।

এই স্ক্রিপ্টটির সর্বশেষ সংস্করণটিও ম্যান পৃষ্ঠাগুলি ইনস্টল করে। আপনার MANPATH /usr/local/git/share/man ডিরেক্টরি MANPATH করতে আপনাকে tweak করতে হবে।


আপনি কিভাবে একটি ফাইল, বা আপনার বর্তমান ফাইল এবং একটি পূর্ববর্তী সংশোধন দুটি সংশোধন তুলনা করবেন?

কমান্ড তুলনা করা হয় git diff

একটি ফাইলের 2 সংশোধন তুলনা করতে:

$ git diff <commit1> <commit2> <file_name>

যে commit 2 বিরুদ্ধে commit 1 commit; যদি আপনি ক্রম পরিবর্তন করেন তবে ফাইলগুলি অন্য দিকে ছড়িয়ে পড়ে, যা আপনি আশা করেন না ...

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

$ git diff --staged <file_name>

রিপোজিটরির বিপরীতে বর্তমান unstaged ফাইল তুলনা করার জন্য:

$ git diff <file_name>

আপনি কিভাবে শাখা একত্রিত করবেন?

আপনি যদি একটি শাখা একত্রীকরণ চান (যেমন masterথেকে release), নিশ্চিত করুন যে আপনার বর্তমান শাখা লক্ষ্য শাখা আপনি চান মধ্যে একত্রীকরণ করার জন্য (সময় ব্যবহার করেন git branchবা git statusআপনার বর্তমান শাখা দেখতে)।

তারপর ব্যবহার করুন

git merge master

( masterশাখার নাম যেখানে আপনি বর্তমান শাখার সাথে একত্রিত করতে চান)।

যদি কোন দ্বন্দ্ব থাকে, আপনি ব্যবহার করতে পারেন

git diff

আপনি সমাধান করার জন্য অমীমাংসিত বিরোধ দেখতে।


আমি কিভাবে রিমোট রিপোজিটরিতে একটি শাখা তৈরি করতে পারি?

অনুমান করা হয়েছে যে আপনি কিছু দূরবর্তী রিপোজিটরি থেকে আপনার দূরবর্তী সংগ্রহস্থল ক্লোন করেছেন।

# create a new branch locally
git branch name_of_branch
git checkout name_of_branch
# edit/add/remove files    
# ... 
# Commit your changes locally
git add fileName
git commit -m Message
# push changes and new branch to remote repository:
git push origin name_of_branch:name_of_branch

কনসোল UI - টিগ

স্থাপন:

apt-get install tig

ব্যবহার

একটি গিট রেপোর ভিতরে, একটি ইন্টারেক্টিভ লগ দেখতে 'টিগ' টাইপ করুন, এটি সম্পর্কে আরও তথ্য দেখতে কোনও লগে 'প্রবেশ করান' টিপুন। সাহায্যের জন্য এইচ , যা বেসিক কার্যকারিতা তালিকাভুক্ত।

তুচ্ছ বস্তু

"টিগ" পিছনে দিকে "গিট" হয়।


কোড চেক আউট

প্রথমে একটি ফাঁকা ডিরতে যান, এটি একটি রিপোজিটরি তৈরি করতে "git init" ব্যবহার করুন, তারপরে রিমোট রেপোকে নিজের মধ্যে ক্লোন করুন।

git clone [email protected]:/dir/to/repo

যেখানে আপনি প্রাথমিকভাবে ক্লোন থেকে যেখানে "গিট টান" ডিফল্ট থেকে টান হবে।


দূরবর্তী শাখা ট্র্যাক কিভাবে

অনুগ্রহ করে একটি দূরবর্তী সংগ্রহস্থল রয়েছে যা আপনি আপনার স্থানীয় সংগ্রহস্থল ক্লোন করেছেন এবং অনুমান করছেন যে সেই দূরবর্তী সংগ্রহস্থলে 'some_branch' নামে একটি শাখা রয়েছে, এখানে স্থানীয়ভাবে এটি কীভাবে ট্র্যাক করা যায়:

# list remote branches
git branch -r

# start tracking one remote branch
git branch --track some_branch origin/some_branch

# change to the branch locally
git checkout some_branch

# make changes and commit them locally
....

# push your changes to the remote repository:
git push

Commit পরিবর্তন

একবার আপনি একটি ফাইল সম্পাদনা করেছেন, আপনি আপনার পরিবর্তন পরিবর্তন করতে হবে। যখন আপনি এই কমান্ডটি চালান তখন এটি একটি প্রত্যুত্তর বার্তা চাওয়া হবে - যা কেবলমাত্র একটি সহজ পাঠ্যের পাঠ্য যা আপনাকে যা পরিবর্তন করেছে তা বলে।

$ git commit source/main.c

ডিরেক্টরির মধ্যে ফাইল main.c commit হবে ./source/

$ git commit -a # the -a flag pulls in all modified files

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

Committing শুধুমাত্র আপনার স্থানীয় সংগ্রহস্থল পরিবর্তন করে যদিও রিমোট রিপোজিটরিগুলি নয়। আপনি যদি রিমোট রিপোজিটরিতে Commits পাঠাতে চান তবে আপনাকে একটি push করতে হবে।

$ git push <remote> <branch> # push new commits to the <branch> on the <remote> repository

যে কেউ সিভিএস বা এসভিএন থেকে আসছে এটি কেন্দ্রীয় রিপোজিটরিতে প্রেরিত কমিটির দুটি ধাপ প্রয়োজন।


আমি একটি রিমোট রিপোজিটরিতে একটি শাখা মুছে ফেলবো কিভাবে?

:শাখা নাম ব্যবহার করার আগে আপনার রিমোট একটি ধাক্কা সঞ্চালন

git push origin :mybranchname

হচ্ছে originআপনার রিমোটের নাম এবং mybranchnameশাখার নাম সম্বন্ধীত মুছে ফেলা হবে

http://help.github.com/remotes/


আচ্ছা, আপনি যে অন্যান্য উত্সগুলির সাথে "কেবল" লিঙ্কটি ব্যবহার করেন না সেটি সত্ত্বেও, এটি এমন এক বোকা বুদ্ধিমান যখন ইতিমধ্যে একটি সম্প্রদায় উত্থিত (এবং ক্রমবর্ধমান) সংস্থান বিদ্যমান যা আসলেই বেশ ভাল: গিট কমিউনিটি বুক । গুরুতরভাবে, একটি প্রশ্নে এই 20+ প্রশ্ন সংক্ষিপ্ত কিন্তু সামঞ্জস্যপূর্ণ কিছু হতে যাচ্ছে। গিট কমিউনিটি বুকটি এইচটিএমএল এবং পিডিএফ উভয় হিসাবে পাওয়া যায় এবং পরিষ্কার, ভাল ফর্ম্যাট এবং সহকর্মী পর্যালোচনা করা উত্তরের সাথে আপনার অনেক প্রশ্নের উত্তর দেয় এবং এমন একটি বিন্যাসে যা আপনাকে সরাসরি আপনার সমস্যার দিকে ঝুঁকে যেতে দেয়।

আচ্ছা, আমার পোস্ট সত্যিই আপনি upsets হলে আমি এটা মুছে ফেলব। শুধু তাই বলে।


এখানে পি জে হাইটের পোস্টের একটি অনুলিপি রয়েছে, এটি আর উপলব্ধ নেই:

গিট হার্ড না

নভেম্বর ২3, ২008

যখন আমরা মানুষকে বলি যে তারা গিটকে সাবভারসনের উপর কেন ব্যবহার করতে হবে, তখন যেতে হবে, "Git সাবভারসনের চেয়ে ভালতর করে, কিন্তু এটি তার থেকে অনেক বেশি করে।"

"অনেক বেশি" এমন একটি গুচ্ছের অন্তর্গত যা গিটকে সত্যিই উজ্জ্বল করে তোলে, তবে এটি অন্যান্য এসসিএম এর মতো সাবভার্সন থেকে আসার জন্য অত্যন্ত অসাধারণ হতে পারে।

যে বলেন, আপনি পরিবর্তন করা হয় যখন আপনি সাবভারসন ব্যবহার করার মত Git ব্যবহার থেকে আপনাকে থামানো কিছুই নেই।

আপনি প্রয়োজনীয় সফটওয়্যারটি ইনস্টল করেছেন এবং কোথাও একটি রিমোট রিপোজিটরি আছে বলে ধরে নিন, এইভাবে আপনি কোডটি দখল করবেন এবং আপনার পরিবর্তনগুলিকে সাবভার্সন দিয়ে আবার ধাক্কা দেবেন:

$ svn checkout svn://foo.googlecode.com/svn/trunk foo
# make your changes
$ svn commit -m "my first commit"

এবং আপনি Git এ কিভাবে করবেন?

$ git clone [email protected]:pjhyett/foo.git
# make your changes
$ git commit -a -m "my first commit"
$ git push

গিটে এটি করার জন্য আরও একটি কমান্ড। যে অতিরিক্ত কমান্ড বড় প্রভাব আছে, কিন্তু এই পোস্টের উদ্দেশ্যে, আমরা সব কথা বলছি, এক অতিরিক্ত কমান্ড।

দেখুন, এটা সত্যিই কঠিন না।

হালনাগাদ: আমি উল্লেখ করব না যে গিটের তুলনায় সাবভারসনে আপনার স্থানীয় অনুলিপি আপডেট করার সমতুল্য যথাক্রমে svn update এবং জিট git pull । উভয় ক্ষেত্রে শুধুমাত্র এক কমান্ড।


গিট যাদু আপনি সব প্রয়োজন হবে। নিশ্চিত বা আপনার টাকা ফেরত!


git statusআপনার বন্ধু, প্রায়ই এটি ব্যবহার করুন। প্রশ্নের উত্তর দেওয়ার জন্য ভালো:

  • যে কমান্ড কি শুধু কি?
  • আমি কি শাখা করছি?
  • আমি কি অঙ্গীকার করতে চলেছি, এবং আমি কি কিছু ভুলে গেছি?
  • গতকাল আমি এই প্রকল্পের (দিন, সপ্তাহ, অথবা সম্ভবত মাস আগে) কাজ করার সময় কি মাঝখানে ছিলাম?

বিপরীত, বলতে svn status, git statusএমনকি বড় প্রকল্পে তাত্ক্ষণিক রান। আমি প্রায়শই এটি ব্যবহার করার জন্য গিট শেখার সময় এটি আশ্বস্ত পেয়েছিলাম, যা ঘটছে তা আমার মানসিক মডেলটি সঠিক ছিল তা নিশ্চিত করতে। এখন আমি বেশিরভাগই আমার মনে মনে মনে করিয়ে দিয়েছি যে আমার শেষ কাজ থেকে আমি কী পরিবর্তন করেছি।

স্পষ্টতই, আপনার। জিটিগনোর সান্নিধ্য কনফিগার করা থাকলে এটি আরও বেশি কার্যকর।


প্রো গীত বিনামূল্যে বই স্পষ্টভাবে আমার প্রিয়, বিশেষ করে নতুনদের জন্য।


Git কাজ কিভাবে বুঝতে একটি বাস্তব ভাল কাগজ গিট দৃষ্টান্ত । অত্যন্ত সুপারিশ!


আমি অফিসিয়াল গিট টিউটোরিয়াল দিয়ে শুরু করেছি । আমার মনে হয় এটা নতুনদের জন্য যথেষ্ট কার্যকর (আমি, এবং এখনও, আপনার সংজ্ঞা দ্বারা, একজন শিক্ষানবিশ! আমি মেকফিলগুলি খুব কমই বুঝতে পেরেছি, আমি শুধুমাত্র অ্যাপাচে সাবভারশন ইত্যাদির সাথে কিছুটা খেলেছি)।


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





version-control