10টি উন্নত গিট টেকনিক - KDnuggets

10 উন্নত গিট টেকনিক – KDnuggets

উত্স নোড: 3083811

10 উন্নত গিট টেকনিক
লেখক থেকে ছবি
 

গিট ব্যবহার করার সময় আপনি আপনার ম্যানেজারের সামনে একজন পেশাদারের মতো দেখতে কী করতে পারেন তা কখনও ভাবছেন? এই পোস্টে, আমরা 10টি উন্নত গিট কৌশল এবং শর্টকাট সম্পর্কে শিখব যা আপনাকে কোড সংস্করণ, রক্ষণাবেক্ষণ এবং ভাগ করার ক্ষেত্রে আরও দক্ষ করে তুলবে।

আপনি সম্ভবত ইতিমধ্যেই গিটের সাথে প্রতিশ্রুতিবদ্ধ, ঠেলাঠেলি, টান এবং শাখা করার প্রাথমিক বিষয়গুলি জানেন। কিন্তু এমন অনেক কম পরিচিত কমান্ড এবং বৈশিষ্ট্য রয়েছে যা আপনার দক্ষতাকে সমান করতে পারে। এটি পড়ার পরে, আপনার গিট দক্ষতার সাথে সহকর্মীদের প্রভাবিত করার জন্য আপনার হাতে কিছু চটকদার কৌশল থাকবে।

আপনি এইভাবে একাধিকবার ফাইলগুলি যোগ করেছেন এবং প্রতিশ্রুতিবদ্ধ করেছেন, কিন্তু আমি যদি আপনাকে বলি যে এটি `-am` পতাকার সাথে এক লাইনে করা যেতে পারে? 

$ git add .
$ git commit -m "new project"

 

পরিবর্তে এটি চেষ্টা করুন, এবং এটি ফাইল পরিবর্তন যোগ করবে এবং বার্তা ব্যবহার করে প্রতিশ্রুতি তৈরি করবে। 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

আপনি `–সংশোধন` পতাকা ব্যবহার করে আপনার বর্তমান প্রতিশ্রুতি বার্তাটির নাম পরিবর্তন করতে পারেন এবং নতুন বার্তা লিখতে পারেন। এটি আপনাকে দুর্ঘটনাজনিত বার্তাগুলিতে সহায়তা করবে।

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

রিমোট রিপোজিটরিতে পুশ করার আগে আপনি বর্তমান প্রতিশ্রুতিতে অতিরিক্ত পরিবর্তন অন্তর্ভুক্ত করতে পারেন। এটি করার জন্য, আপনাকে ফাইল পরিবর্তনগুলি যোগ করতে হবে এবং তারপর `–সংশোধন` পতাকা ব্যবহার করে প্রতিশ্রুতিবদ্ধ করতে হবে। পূর্ববর্তী প্রতিশ্রুতি বার্তাটি ধরে রাখতে, কেবল `-নো-সম্পাদনা` পতাকাটি ব্যবহার করুন।

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

আপনি যদি কোনও স্থানীয় প্রতিশ্রুতি পুশ করতে চান এবং সমস্যার সমাধান না করে দূরবর্তী ইতিহাসকে ওভাররাইড করতে চান তবে আপনি `–ফোর্স` পতাকা ব্যবহার করতে পারেন। যাইহোক, এটা মনে রাখা গুরুত্বপূর্ণ যে ফোর্স ফ্ল্যাগ ব্যবহার করা বাঞ্ছনীয় নয় এবং শুধুমাত্র তখনই ব্যবহার করা উচিত যখন আপনি কি করছেন তা সম্পর্কে নিশ্চিত হন। মনে রাখবেন যে ফোর্স পতাকা ব্যবহার করে দূরবর্তী ইতিহাস পুনরায় লেখা হবে।

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

গিটে একটি কমিট পূর্বাবস্থায় ফেরাতে, আপনি `রিভার্ট` কমান্ড ব্যবহার করতে পারেন। যাইহোক, এই কমান্ডটি কোন কমিট মুছে দেয় না। পরিবর্তে, এটি একটি নতুন প্রতিশ্রুতি তৈরি করে যা মূল প্রতিশ্রুতি দ্বারা করা পরিবর্তনগুলিকে পূর্বাবস্থায় ফিরিয়ে আনে।

একটি সংক্ষিপ্ত আকারে প্রতিশ্রুতি ইতিহাস দেখতে আমরা `–ওয়ানলাইন` পতাকা সহ `লগ` ব্যবহার করব। 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

পূর্ববর্তী প্রতিশ্রুতিতে প্রত্যাবর্তন করতে, আমরা কমিট আইডি অনুসরণ করে `গিট রিভার্ট` কমান্ড ব্যবহার করি। এটি পূর্ববর্তী কমিট থেকে পরিবর্তনের সাথে একটি নতুন প্রতিশ্রুতি তৈরি করে।

$ git revert 8f184d5

আপনি কি গিটহাবে আপনার উত্পাদনশীলতা বাড়াতে চান? GitHub কোড স্পেস দিয়ে, আপনি এখন সরাসরি আপনার ব্রাউজারে আপনার কোড সম্পাদনা করতে এবং চালাতে পারেন। 

এই বৈশিষ্ট্যটি অ্যাক্সেস করতে, কেবল আপনার প্রিয় সংগ্রহস্থলে নেভিগেট করুন, আপনার কীবোর্ডে পিরিয়ড কী (“.”) টিপুন এবং এটি আপনাকে VSCode UI-তে পুনঃনির্দেশিত করবে।

 

10 উন্নত গিট টেকনিক
লেখক থেকে ছবি
 

আপনি কোডে পরিবর্তন করতে পারেন এবং সেগুলিকে আপনার দূরবর্তী সংগ্রহস্থলে ঠেলে দিতে পারেন। তবে, আপনি যদি টার্মিনালে কোডটি চালাতে চান তবে আপনাকে ক্লাউডে কোডস্পেস চালাতে হবে। বিনামূল্যে সংস্করণ আপনার ব্রাউজারে আপনার পাইথন কোড চালানোর জন্য একটি চমৎকার বিকল্প প্রস্তাব করে। যে সন্ত্রস্ত না? আমি আজ এটা সম্পর্কে জানতে পেরেছি.

 

10 উন্নত গিট টেকনিক
লেখক থেকে ছবি

একটি প্রকল্পে কাজ করার সময়, আপনি একটি স্টেজিং এলাকায় ফাইল যোগ করতে পারেন এবং তারপর আপনার বর্তমান অগ্রগতি সংরক্ষণ করতে তাদের প্রতিশ্রুতিবদ্ধ করতে পারেন। যাইহোক, `stash` কমান্ড ব্যবহার করে সহজেই আপনার কাজ সংরক্ষণ করার আরেকটি উপায় আছে। আপনি যখন `স্ট্যাশ` ব্যবহার করেন, তখন আপনি আপনার বর্তমান অগ্রগতি সংরক্ষণ করেন স্টেজিং এরিয়াতে যোগ না করে বা এটি কমিট না করে। এটি আপনাকে আপনার অগ্রগতি সংরক্ষণ করতে এবং যখনই আপনার প্রয়োজন তখন এটি পুনরুদ্ধার করতে দেয়।

আমরা একটি নাম প্রদান করে এবং এটি লুকিয়ে রেখে আমাদের বর্তমান অগ্রগতি সংরক্ষণ করব। 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

আপনি আপনার স্ট্যাশ তালিকা দেখতে পারেন এবং এটি পুনরুদ্ধার করতে সংশ্লিষ্ট সূচকটি নোট করতে পারেন।

$ git stash list

 

stash@{0}: On master: new-idea

 

আমাদের "নতুন ধারণা" এর স্ট্যাশ সূচক 0 এ সংরক্ষণ করা হয়েছে। এটি পুনরুদ্ধার করতে, এই কমান্ডটি ব্যবহার করুন:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

আপনার কাছে আপনার ডিফল্ট শাখার নাম পরিবর্তন করে আরও উপযুক্ত কিছু করার বিকল্প আছে। এই ক্ষেত্রে, আমরা "মাস্টার" এর নাম পরিবর্তন করে "প্রধান" করব। 

$ git branch -M main

 

10 উন্নত গিট টেকনিক
 

আপনি নিম্নলিখিত কমান্ড ব্যবহার করে পরিবর্তনগুলি যাচাই করতে পারেন: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

আপনি যদি বর্তমান সংগ্রহস্থলে করা সমস্ত কমিটের বিশদ ইতিহাস দেখতে চান তবে আপনি `গিট লগ` কমান্ডটি ব্যবহার করতে পারেন। যাইহোক, আউটপুট পড়া কঠিন হতে পারে। এটিকে আরও পঠনযোগ্য করতে, আপনি `গ্রাফ`, `ডেকোরেট` এবং `ওয়ানলাইন` পতাকা ব্যবহার করতে পারেন। এটি একাধিক শাখায় করা পরিবর্তনগুলি এবং কীভাবে তারা একত্রিত হয় তা প্রদর্শন করবে।

$ git log --graph --decorate --oneline

 

10 উন্নত গিট টেকনিক

বেশ কয়েকবার, আমি একটি নতুন শাখায় চলে গিয়েছি এবং আগের শাখার নাম ভুলে গেছি। ফলস্বরূপ, শাখার নামের তালিকা দেখতে আমাকে `git branch -a` কমান্ডটি ব্যবহার করতে হয়েছিল। যাইহোক, 'গিট চেকআউট' কমান্ডের পরে ড্যাশ "-" ব্যবহার করে মূল শাখায় ফিরে যাওয়ার একটি সহজ উপায় রয়েছে।

আমরা প্রথমে নতুন Git শাখা "neo" তৈরি করব।

$ git branch neo

 

আমরা "নিও" শাখায় স্যুইচ করব।

$ git checkout neo

 

Switched to branch 'neo'

 

মূল শাখায় ফিরে যেতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করব:

$ git checkout -

 

Switched to branch 'main'

আমরা রিমোট রিপোজিটরি ওভাররাইড করার বিষয়ে শিখেছি। চলুন জেনে নিই কিভাবে দূরবর্তী সংগ্রহস্থল ব্যবহার করে স্থানীয় সংগ্রহস্থলকে ওভাররাইড করতে হয়।

আমরা রিমোট রিপোজিটরি থেকে সর্বশেষ পরিবর্তনগুলি পেতে `fetch` কমান্ড ব্যবহার করব। 

$ git fetch origin

 

তারপর, আমরা দূরবর্তী সংস্করণের সাথে স্থানীয় পরিবর্তনগুলিকে ওভাররাইড করতে 'হার্ড' পতাকা সহ 'রিসেট' কমান্ডটি ব্যবহার করব। দয়া করে মনে রাখবেন যে এটি স্থায়ীভাবে কোনো স্থানীয় পরিবর্তন বাতিল করবে।

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

যদি এখনও আনট্র্যাক করা ফাইলগুলি থাকে তবে সেগুলি নিম্নলিখিত কমান্ড ব্যবহার করে সরানো যেতে পারে:

$ git clean -df

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

এই নিবন্ধে, আমরা উন্নত গিট কৌশলগুলি কভার করেছি যা ডেটা বিজ্ঞানী এবং সফ্টওয়্যার ইঞ্জিনিয়ারদের জন্য অত্যন্ত গুরুত্বপূর্ণ যারা একটি সহযোগী ডেটা প্রকল্পে কাজ করছেন। এই কৌশলগুলি জানা আপনাকে দুর্ঘটনা এড়াতে এবং সমস্যাগুলি আরও দ্রুত সমাধান করতে সহায়তা করতে পারে।

আমি আশা করি আপনি এই ব্লগটি দরকারী খুঁজে পেয়েছেন. আপনি তথ্য বিজ্ঞান জগতে সাধারণত ব্যবহৃত টুলস সম্পর্কে বাইট-আকারের তথ্য সহ আরও পোস্ট পড়তে চান কিনা দয়া করে আমাকে জানান।
 
 

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

সময় স্ট্যাম্প:

থেকে আরো কেডনুগেটস

KDnuggets™ নিউজ 21:n38, অক্টোবর 6: একটি শক্তিশালী ডেটা সায়েন্স পোর্টফোলিও তৈরি করুন; সুইচ ট্রান্সফরমার সহ ট্রিলিয়ন প্যারামিটার অতিক্রম করা — এজিআই-এর একটি পথ?

উত্স নোড: 1877410
সময় স্ট্যাম্প: অক্টোবর 6, 2021