Apache Ant-এ Git Task একটি অতি গুরুত্বপূর্ণ টাস্ক যা Git রিপোজিটরি থেকে কোড ফেচ (fetch) বা পুল (pull) করার জন্য ব্যবহৃত হয়। এই টাস্কটি আপনার Ant বিল্ড স্ক্রিপ্টের মধ্যে Git-এর কার্যক্রম ইনক্লুড করে, যাতে আপনি বিল্ডের অংশ হিসেবে কোড রিপোজিটরি থেকে ফাইল বা আপডেট পেতে পারেন।
Git Task সাধারণত <git> ট্যাগের মাধ্যমে ব্যবহৃত হয় এবং এটি Git রিপোজিটরি থেকে কোড ফেচ বা পুল করার জন্য Git কমান্ডগুলো চালায়।
Git Task এর Syntax
<git>
<fetch remote="origin" branch="master" />
</git>
এখানে:
- : Git রিপোজিটরির সাথে সম্পর্কিত কার্যক্রম সম্পাদন করার জন্য ব্যবহৃত ট্যাগ।
- : Git রিপোজিটরি থেকে কোড ফেচ (fetch) বা পুল (pull) করতে ব্যবহৃত হয়।
- remote: Git রিপোজিটরির রিমোট নাম (যেমন,
originবা অন্যান্য রিমোট রিপোজিটরি নাম)। - branch: Git ব্রাঞ্চ যার থেকে কোড ফেচ বা পুল করতে হবে।
১. Basic Example: Fetching Code from Git Repository
এটি একটি সাধারণ উদাহরণ যেখানে Git থেকে কোড ফেচ করা হচ্ছে।
<project name="GitFetchExample" default="fetchCode" basedir=".">
<target name="fetchCode">
<git>
<fetch remote="origin" branch="main" />
</git>
</target>
</project>
এখানে:
- টাস্কের মাধ্যমে Git রিপোজিটরি থেকে
originরিমোটের main ব্রাঞ্চ ফেচ করা হবে। - টাস্কের মাধ্যমে main ব্রাঞ্চের সর্বশেষ কোড ফেচ হবে।
আউটপুট:
Fetching code from origin repository, branch: main
এটি আপনার Ant স্ক্রিপ্টের মধ্যে Git কোড ফেচ করার প্রক্রিয়া পরিচালনা করবে।
২. Using Git Clone to Clone a Repository
আপনি Git Task ব্যবহার করে একটি নতুন রিপোজিটরি ক্লোন (clone) করতে পারেন। এটি Git clone কমান্ড চালানোর মতো কাজ করবে।
<project name="GitCloneExample" default="cloneRepository" basedir=".">
<target name="cloneRepository">
<git>
<clone repository="https://github.com/username/repository.git" />
</git>
</target>
</project>
এখানে:
- repository: Git রিপোজিটরির URL, যা ক্লোন করতে হবে।
- : Git রিপোজিটরি ক্লোন করতে ব্যবহৃত টাস্ক।
আউটপুট:
Cloning repository https://github.com/username/repository.git
এটি Git রিপোজিটরি ক্লোন করবে এবং আপনার লোকাল মেশিনে কপি করবে।
৩. Git Pull Example
Git pull কমান্ডটি ব্যবহার করে আপনি আপনার লোকাল রিপোজিটরি আপডেট করতে পারেন। এটি আপনার লোকাল রিপোজিটরির পরিবর্তনগুলিকে রিমোট রিপোজিটরির সাথে মিলে যায়।
<project name="GitPullExample" default="pullCode" basedir=".">
<target name="pullCode">
<git>
<pull remote="origin" branch="develop" />
</git>
</target>
</project>
এখানে:
- : Git রিপোজিটরি থেকে pull করতে ব্যবহৃত টাস্ক।
- remote: রিমোট রিপোজিটরি নাম (যেমন,
origin). - branch:
developব্রাঞ্চ থেকে কোড পুল করা হবে।
আউটপুট:
Pulling code from origin repository, branch: develop
এটি origin রিমোট রিপোজিটরি থেকে develop ব্রাঞ্চের সর্বশেষ আপডেট নিয়ে আসবে।
৪. Git Checkout Example
Git checkout কমান্ডটি ব্যবহার করে আপনি একটি নির্দিষ্ট ব্রাঞ্চে সুইচ করতে পারেন। নিচে একটি উদাহরণ দেয়া হলো যেখানে git checkout ব্যবহার করা হচ্ছে।
<project name="GitCheckoutExample" default="checkoutBranch" basedir=".">
<target name="checkoutBranch">
<git>
<checkout branch="feature-branch" />
</git>
</target>
</project>
এখানে:
- branch:
feature-branchব্রাঞ্চে সুইচ করা হবে। - : এটি একটি টাস্ক যা নির্দিষ্ট ব্রাঞ্চে সুইচ করার জন্য ব্যবহৃত হয়।
আউটপুট:
Checking out branch feature-branch
এটি feature-branch ব্রাঞ্চে সুইচ করবে।
৫. Git Status Example
আপনি Git status চেক করতে <git> টাস্ক ব্যবহার করতে পারেন, যা রিপোজিটরির বর্তমান অবস্থা দেখাবে।
<project name="GitStatusExample" default="checkStatus" basedir=".">
<target name="checkStatus">
<git>
<status />
</git>
</target>
</project>
এখানে:
- : এটি রিপোজিটরির বর্তমান অবস্থা দেখাবে, যেমন কোন পরিবর্তন হয়নি, পরিবর্তন করা ফাইল, বা কোনো স্টেজিং/কমিট পেন্ডিং রয়েছে কি না।
আউটপুট:
Checking git status...
এটি রিপোজিটরির স্ট্যাটাস দেখাবে।
৬. Using Git with Authentication (Private Repositories)
যদি আপনার Git রিপোজিটরি প্রাইভেট হয়, তবে আপনি authentication ব্যবহার করে Git রিপোজিটরি থেকে কোড ফেচ বা পুল করতে পারেন। এটি সাধারণত username এবং password বা SSH key ব্যবহার করে করা হয়।
<project name="GitAuthenticationExample" default="fetchPrivateRepo" basedir=".">
<target name="fetchPrivateRepo">
<git>
<fetch remote="origin" branch="main">
<username value="your-username" />
<password value="your-password" />
</fetch>
</git>
</target>
</project>
এখানে:
- username: আপনার Git রিপোজিটরির ইউজারনেম।
- password: আপনার Git রিপোজিটরির পাসওয়ার্ড (যদি প্রাইভেট রিপোজিটরি হয়)।
আউটপুট:
Fetching code from origin repository, branch: main
এটি প্রাইভেট রিপোজিটরি থেকে কোড ফেচ করবে।
সারাংশ
<git> টাস্কটি Apache Ant-এ Git রিপোজিটরি থেকে কোড ফেচ, পুল, ক্লোন, চেকআউট, বা স্ট্যাটাস চেক করার জন্য ব্যবহৃত হয়। আপনি fetch, clone, pull, checkout, এবং status টাস্ক ব্যবহার করে Git কার্যক্রম পরিচালনা করতে পারেন। আপনি Ant বিল্ড স্ক্রিপ্টে Git কার্যক্রম স্বয়ংক্রিয়ভাবে চালাতে পারবেন, যেমন কোড ফেচ করা, রিপোজিটরি ক্লোন করা, বা অন্য ব্রাঞ্চে সুইচ করা। Git রিপোজিটরির সাথে ইন্টিগ্রেশন অটোমেটেড বিল্ড, ডিপ্লয়মেন্ট বা টেস্টিং প্রক্রিয়া উন্নত করতে সহায়ক।