এটি হল গিট-কমিট কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
git-commit - সংগ্রহস্থলে পরিবর্তন রেকর্ড করুন
সাইনোপিসিস
ফালতু বা এলেবেলে লোক সমর্পণ করা [-ক | --ইন্টারেক্টিভ | --প্যাচ] [-স] [-ভি] [-উ ] [--সংশোধন করা]
[--ড্রাই-রান] [(-c | -C | --fixup | --squash) ]
[-এফ | -মি ] [--রিসেট-লেখক] [-অনুমতি-খালি]
[--অনুমতি-খালি-বার্তা] [--না-যাচাই] [-ই] [--লেখক= ]
[-তারিখ= ] [-পরিষ্কার= ] [--[অবস্থা নাই]
[-আমি | -ও] [-এস[ ]] [--] [ ...]
বর্ণনাঃ
থেকে একটি লগ বার্তা সহ একটি নতুন প্রতিশ্রুতিতে সূচকের বর্তমান বিষয়বস্তু সঞ্চয় করে৷
ব্যবহারকারী পরিবর্তনগুলি বর্ণনা করছেন।
যোগ করা বিষয়বস্তু বিভিন্ন উপায়ে নির্দিষ্ট করা যেতে পারে:
1. ব্যবহার করে ফালতু বা এলেবেলে লোক যোগ ক্রমবর্ধমানভাবে ব্যবহার করার আগে সূচকে পরিবর্তনগুলি "যোগ" করতে সমর্পণ করা
কমান্ড (দ্রষ্টব্য: এমনকি পরিবর্তিত ফাইলগুলিকে অবশ্যই "সংযোজন" করতে হবে);
2. ব্যবহার করে ফালতু বা এলেবেলে লোক rm ওয়ার্কিং ট্রি এবং ইনডেক্স থেকে ফাইল অপসারণ করতে, আবার আগে
ব্যবহার করে সমর্পণ করা আদেশ
3. আর্গুমেন্ট হিসাবে ফাইল তালিকা দ্বারা সমর্পণ করা কমান্ড, যে ক্ষেত্রে কমিট হবে
সূচীতে মঞ্চস্থ পরিবর্তনগুলি উপেক্ষা করুন এবং পরিবর্তে বর্তমান বিষয়বস্তু রেকর্ড করুন
তালিকাভুক্ত ফাইল (যা ইতিমধ্যেই গিট-এর কাছে পরিচিত হতে হবে);
4. এর সাথে -a সুইচ ব্যবহার করে সমর্পণ করা স্বয়ংক্রিয়ভাবে সব থেকে পরিবর্তন "যোগ" করার আদেশ
পরিচিত ফাইলগুলি (যেমন সমস্ত ফাইল যা ইতিমধ্যেই সূচীতে তালিকাভুক্ত) এবং স্বয়ংক্রিয়ভাবে
সূচীতে "rm" ফাইলগুলি যা কার্যকারী গাছ থেকে সরানো হয়েছে, এবং তারপর সঞ্চালন করুন
প্রকৃত প্রতিশ্রুতি;
5. এর সাথে --ইন্টারেক্টিভ বা --প্যাচ সুইচ ব্যবহার করে সমর্পণ করা একটি সিদ্ধান্ত নিতে আদেশ
একটি দ্বারা যা ফাইল বা hunks কমিট অংশ হতে হবে, চূড়ান্ত করার আগে
অপারেশন. এর "ইন্টারেক্টিভ মোড" বিভাগটি দেখুন git-add(1) কিভাবে কাজ করতে হয় তা শিখতে
এই মোড.
--dry-run বিকল্পটি ব্যবহার করা যেতে পারে একটি সারসংক্ষেপ প্রাপ্ত করার জন্য যা কোনটি অন্তর্ভুক্ত করে
একই প্যারামিটার (বিকল্প এবং পথ) দিয়ে পরবর্তী প্রতিশ্রুতির জন্য উপরে।
আপনি যদি একটি প্রতিশ্রুতি দেন এবং তারপরে অবিলম্বে একটি ভুল খুঁজে পান, তাহলে আপনি তা থেকে পুনরুদ্ধার করতে পারেন
ইহার সাথে ফালতু বা এলেবেলে লোক রিসেট.
বিকল্প
-a, --সমস্ত
স্বয়ংক্রিয়ভাবে সংশোধিত এবং মুছে ফেলা ফাইলগুলিকে স্টেজ করার জন্য কমান্ডকে বলুন, কিন্তু
আপনি গিট সম্পর্কে বলেননি নতুন ফাইল প্রভাবিত হয় না.
-পি, --প্যাচ
কোন পরিবর্তন করতে হবে তা বেছে নিতে ইন্টারেক্টিভ প্যাচ নির্বাচন ইন্টারফেস ব্যবহার করুন। দেখা
git-add(1) বিস্তারিত জানার জন্য।
-সি , --পুনঃব্যবহার-বার্তা=
একটি বিদ্যমান কমিট অবজেক্ট নিন, এবং লগ বার্তা এবং লেখকত্ব পুনরায় ব্যবহার করুন
কমিট তৈরি করার সময় তথ্য (টাইমস্ট্যাম্প সহ)।
-গ , --reedit-বার্তা=
মত -C, কিন্তু সঙ্গে -c সম্পাদককে আহ্বান করা হয়েছে, যাতে ব্যবহারকারী আরও সম্পাদনা করতে পারে
বার্তা কমিট
--fixup=
rebase --autosquash-এর সাথে ব্যবহারের জন্য একটি কমিট বার্তা তৈরি করুন। প্রতিশ্রুতি বার্তা হবে
"fixup!" এর একটি উপসর্গ সহ নির্দিষ্ট কমিট থেকে বিষয় লাইন হতে হবে। দেখা গিট-
রি-বেসের ফলে(1) বিস্তারিত জানার জন্য।
--স্কোয়াশ=
rebase --autosquash-এর সাথে ব্যবহারের জন্য একটি কমিট বার্তা তৈরি করুন। প্রতিশ্রুতি বার্তা
বিষয় লাইনটি "স্কোয়াশ!" এর একটি উপসর্গ সহ নির্দিষ্ট কমিট থেকে নেওয়া হয়েছে। হতে পারে
অতিরিক্ত কমিট মেসেজ বিকল্পের সাথে ব্যবহার করা হয় (-m/-c/-C/-F)। দেখা গিট-রিবেস(1) এর জন্য
বিবরণ।
--রিসেট-লেখক
যখন -C/-c/--সংশোধন বিকল্পগুলির সাথে ব্যবহার করা হয়, বা যখন AA বিরোধপূর্ণ হওয়ার পরে কমিট করা হয়
cherry-pick, ঘোষণা করুন যে ফলাফলের কমিটের লেখকত্ব এখন এর অন্তর্গত
কমিটর এটি লেখক টাইমস্ট্যাম্পও পুনর্নবীকরণ করে।
-- সংক্ষিপ্ত
ড্রাই-রান করার সময় শর্ট ফরম্যাটে আউটপুট দিন। দেখা git-স্থিতি(1) এর জন্য
বিস্তারিত বোঝায় --ড্রাই-রান।
--শাখা
এমনকি সংক্ষিপ্ত বিন্যাসে শাখা এবং ট্র্যাকিং তথ্য দেখান।
-- চীনামাটির বাসন
ড্রাই-রান করার সময়, একটি চীনামাটির বাসন-প্রস্তুত বিন্যাসে আউটপুট দিন। দেখা git-স্থিতি(1)
বিস্তারিত জানার জন্য. বোঝায় --ড্রাই-রান।
--দীর্ঘ
ড্রাই-রান করার সময়, লং-ফরমেটে আউটপুট দিন। বোঝায় --ড্রাই-রান।
-z, --null
সংক্ষিপ্ত বা চীনামাটির বাসন স্ট্যাটাস আউটপুট দেখানোর সময়, স্ট্যাটাস আউটপুটে এন্ট্রি বন্ধ করুন
LF এর পরিবর্তে NUL সহ। যদি কোন বিন্যাস দেওয়া না হয়, তাহলে বোঝায় --পোর্সেলিন আউটপুট বিন্যাস।
-এফ , --file=
প্রদত্ত ফাইল থেকে প্রতিশ্রুতি বার্তা নিন। ব্যবহার করুন - থেকে বার্তা পড়তে
স্ট্যান্ডার্ড ইনপুট।
--লেখক=
কমিট লেখক ওভাররাইড করুন. স্ট্যান্ডার্ড AU Thor ব্যবহার করে একটি স্পষ্ট লেখক উল্লেখ করুন
<[ইমেল সুরক্ষিত]> বিন্যাস। অন্যথায় একটি প্যাটার্ন হিসাবে ধরে নেওয়া হয় এবং ব্যবহার করা হয়
সেই লেখকের দ্বারা বিদ্যমান একটি কমিট অনুসন্ধান করতে (যেমন rev-list --all -i
--লেখক= ); কমিট লেখক তারপর প্রথম এই ধরনের কমিট পাওয়া থেকে অনুলিপি করা হয়.
--তারিখ=
প্রতিশ্রুতিতে ব্যবহৃত লেখকের তারিখ ওভাররাইড করুন।
-মি , --বার্তা=
প্রদত্ত ব্যবহার করুন প্রতিশ্রুতি বার্তা হিসাবে। যদি একাধিক -m বিকল্প দেওয়া হয়, তাদের
মান পৃথক অনুচ্ছেদ হিসাবে সংযুক্ত করা হয়.
-টি , --টেমপ্লেট=
কমিট বার্তা সম্পাদনা করার সময়, প্রদত্ত ফাইলের বিষয়বস্তু দিয়ে সম্পাদক শুরু করুন।
কমিট.টেমপ্লেট কনফিগারেশন ভেরিয়েবলটি প্রায়ই এই বিকল্পটি দিতে ব্যবহৃত হয়
পরোক্ষভাবে আদেশে। এই প্রক্রিয়াটি এমন প্রকল্পগুলির দ্বারা ব্যবহার করা যেতে পারে যা গাইড করতে চায়
কি ক্রমে বার্তা লিখতে কিছু ইঙ্গিত সহ অংশগ্রহণকারীদের. যদি
ব্যবহারকারী বার্তা সম্পাদনা না করে সম্পাদক থেকে প্রস্থান করে, প্রতিশ্রুতি বাতিল করা হয়। এই কোন আছে
প্রভাব যখন একটি বার্তা অন্য উপায়ে দেওয়া হয়, যেমন -m বা -F বিকল্পগুলির সাথে।
-s, --সাইন অফ
কমিট লগ মেসেজের শেষে কমিটারের দ্বারা সাইন-অফ-লাইন যোগ করুন। দ্য
একটি সাইনঅফের অর্থ প্রকল্পের উপর নির্ভর করে, তবে এটি সাধারণত সেই প্রতিশ্রুতিকারকে প্রত্যয়িত করে
একই লাইসেন্সের অধীনে এই কাজটি জমা দেওয়ার অধিকার রয়েছে এবং একজন বিকাশকারীর সাথে সম্মত
মূল শংসাপত্র (দেখুন http://developercertificate.org/ আরও তথ্যের জন্য).
-n, --no-verify
এই বিকল্পটি প্রি-কমিট এবং কমিট-মেসেজ হুকগুলিকে বাইপাস করে। আরো দেখুন githooks(5).
--অনুমতি-খালি
সাধারণত একটি প্রতিশ্রুতি রেকর্ড করা যা তার একমাত্র অভিভাবক প্রতিশ্রুতির মতো একই গাছ রয়েছে a
ভুল, এবং কমান্ড আপনাকে এই ধরনের প্রতিশ্রুতি করতে বাধা দেয়। এই বিকল্পটি বাইপাস করে
নিরাপত্তা, এবং প্রাথমিকভাবে বিদেশী SCM ইন্টারফেস স্ক্রিপ্ট দ্বারা ব্যবহারের জন্য।
--অনুমতি-খালি-বার্তা
যেমন --allow-empty এই কমান্ডটি মূলত বিদেশী SCM ইন্টারফেস স্ক্রিপ্ট দ্বারা ব্যবহারের জন্য।
এটি আপনাকে প্লাম্বিং ব্যবহার না করে একটি খালি কমিট বার্তা সহ একটি প্রতিশ্রুতি তৈরি করতে দেয়
আদেশ মত git-commit-tree(1).
--পরিষ্কার=
এই বিকল্পটি নির্ধারণ করে যে কীভাবে সরবরাহ করা কমিট বার্তাটি আগে পরিষ্কার করা উচিত
প্রতিশ্রুতিবদ্ধ দ্য স্ট্রিপ, হোয়াইটস্পেস, verbatim, কাঁচি বা ডিফল্ট হতে পারে।
ফালা
স্ট্রিপ লিডিং এবং ট্রেইলিং খালি লাইন, ট্রেইলিং হোয়াইটস্পেস, ভাষ্য এবং
পরপর খালি লাইনগুলি ভেঙে দিন।
হোয়াইটস্পেস
#মন্তব্য ছাড়া স্ট্রিপ হিসাবে একই সরানো হয় না।
আক্ষরিকভাবে
বার্তাটি একেবারেই পরিবর্তন করবেন না।
কাঁচি
হোয়াইটস্পেস হিসাবে একই, লাইন থেকে (এবং সহ) সবকিছু ছাড়া "#
------------------------ >8 ------------------------ " বার্তাটি কাটা হলে
সম্পাদনা করা হয় "#" core.commentChar দিয়ে কাস্টমাইজ করা যেতে পারে।
ডিফল্ট
বার্তাটি সম্পাদনা করতে হলে স্ট্রিপের মতোই৷ অন্যথায় হোয়াইটস্পেস।
ডিফল্ট দ্বারা পরিবর্তন করা যেতে পারে কমিট.ক্লিনআপ কনফিগারেশন ভেরিয়েবল (দেখুন গিট-
কনফিগ(1))।
-ই, - এডিট
-F সহ ফাইল থেকে নেওয়া বার্তা, -m-এর সাথে কমান্ড লাইন এবং কমিট অবজেক্ট থেকে
-সি সাধারণত কমিট লগ বার্তা অপরিবর্তিত হিসাবে ব্যবহৃত হয়। এই বিকল্প আপনাকে আরও যেতে দেয়
এই উত্স থেকে নেওয়া বার্তা সম্পাদনা করুন.
--না-সম্পাদনা
একটি সম্পাদক চালু না করে নির্বাচিত প্রতিশ্রুতি বার্তা ব্যবহার করুন। উদাহরণস্বরূপ, গিট কমিট
--amend --no-edit তার প্রতিশ্রুতি বার্তা পরিবর্তন না করে একটি প্রতিশ্রুতি সংশোধন করে।
--সংশোধন করা
একটি নতুন কমিট তৈরি করে বর্তমান শাখার টিপটি প্রতিস্থাপন করুন। নথিভুক্ত গাছ হল
যথারীতি প্রস্তুত (-i এবং -o বিকল্পের প্রভাব সহ এবং স্পষ্ট
pathspec), এবং মূল কমিট থেকে বার্তাটি শুরু বিন্দু হিসাবে ব্যবহৃত হয়,
একটি খালি বার্তার পরিবর্তে, যখন কমান্ড লাইন থেকে অন্য কোনো বার্তা নির্দিষ্ট করা হয় না
বিকল্পগুলির মাধ্যমে যেমন -m, -F, -c, ইত্যাদি। নতুন প্রতিশ্রুতিতে একই পিতামাতা এবং লেখক রয়েছে
বর্তমানটি ( --reset-author বিকল্পটি এটিকে প্রতিহত করতে পারে)।
এটি এর জন্য একটি মোটামুটি সমতুল্য:
$ git রিসেট --soft HEAD^
$ ... সঠিক গাছের সাথে আসতে অন্য কিছু করুন ...
$ git কমিট -c ORIG_HEAD
কিন্তু একটি মার্জ কমিট সংশোধন করতে ব্যবহার করা যেতে পারে।
আপনি যদি একটি প্রতিশ্রুতি সংশোধন করেন তবে ইতিহাস পুনর্লিখনের প্রভাবগুলি আপনার বোঝা উচিত
ইতিমধ্যে প্রকাশিত হয়েছে। (এতে "আপস্ট্রিম রিবেস থেকে পুনরুদ্ধার" বিভাগটি দেখুন গিট-
রি-বেসের ফলে(1)।
--না-পোস্ট-পুনরালেখ
পোস্ট পুনর্লিখন হুক বাইপাস.
-আমি, --অন্তর্ভুক্ত
এখন পর্যন্ত পর্যায়ভুক্ত বিষয়বস্তু থেকে একটি প্রতিশ্রুতি তৈরি করার আগে, পাথের বিষয়বস্তুগুলিকে স্টেজ করুন৷
কমান্ড লাইনেও দেওয়া আছে। আপনি যদি না হন তবে এটি সাধারণত আপনি চান না
একটি বিরোধপূর্ণ একত্রীকরণের সমাপ্তি।
-ও, --শুধুমাত্র
নির্দিষ্ট করা পাথের আপডেটেড ওয়ার্কিং ট্রি বিষয়বস্তু গ্রহণ করে একটি প্রতিশ্রুতি দিন
কমান্ড লাইন, অন্য পাথের জন্য মঞ্চস্থ করা কোনো বিষয়বস্তু উপেক্ষা করে।
এটি অপারেশনের ডিফল্ট মোড ফালতু বা এলেবেলে লোক সমর্পণ করা যদি কোন পথ দেওয়া হয়
কমান্ড লাইন, যে ক্ষেত্রে এই বিকল্পটি বাদ দেওয়া যেতে পারে। যদি এই বিকল্পটি নির্দিষ্ট করা থাকে
এক্সাথে --সংশোধন করা, তারপর কোন পাথ নির্দিষ্ট করার প্রয়োজন নেই, যা সংশোধন করতে ব্যবহার করা যেতে পারে
ইতিমধ্যে মঞ্চস্থ করা পরিবর্তনগুলি না করেই শেষ প্রতিশ্রুতি।
-তুমি[ ], --untracked-files[= ]
আনট্র্যাক করা ফাইল দেখান।
মোড প্যারামিটারটি ঐচ্ছিক (এতে ডিফল্ট সব), এবং হ্যান্ডলিং নির্দিষ্ট করতে ব্যবহৃত হয়
আনট্র্যাক করা ফাইল; যখন -u ব্যবহার করা হয় না, ডিফল্ট হয় সাধারণ, অর্থাৎ আনট্র্যাক করা দেখান
ফাইল এবং ডিরেক্টরি।
সম্ভাব্য বিকল্পগুলি হল:
· না। - কোন আনট্র্যাক করা ফাইল দেখান
· সাধারণ - আনট্র্যাক করা ফাইল এবং ডিরেক্টরি দেখায়
· সব - এছাড়াও আনট্র্যাকড ডিরেক্টরিতে পৃথক ফাইল দেখায়।
status.showUntrackedFiles কনফিগারেশন ব্যবহার করে ডিফল্ট পরিবর্তন করা যেতে পারে
পরিবর্তনশীল নথিভুক্ত git-config(1).
-v, --ভার্বোস
HEAD কমিট এবং নীচের অংশে কি প্রতিশ্রুতিবদ্ধ হবে তার মধ্যে একীভূত পার্থক্য দেখান
প্রতিশ্রুতি বার্তা টেমপ্লেট ব্যবহারকারীকে কী স্মরণ করিয়ে দিয়ে প্রতিশ্রুতি বর্ণনা করতে সহায়তা করে
প্রতিশ্রুতি আছে পরিবর্তন. মনে রাখবেন যে এই ভিন্ন আউটপুটে এর লাইনগুলি উপসর্গ নেই
সঙ্গে #. এই পার্থক্য কমিট বার্তার একটি অংশ হবে না.
যদি দুইবার নির্দিষ্ট করা হয়, তাহলে কি প্রতিশ্রুতিবদ্ধ হবে তার মধ্যে একীভূত পার্থক্য দেখান
এবং ওয়ার্কট্রি ফাইলগুলি, যেমন ট্র্যাক করা ফাইলগুলিতে স্টেজ না করা পরিবর্তনগুলি।
-q, - শান্ত
কমিট সারাংশ বার্তা দমন করুন.
--শুষ্ক রান
একটি প্রতিশ্রুতি তৈরি করবেন না, তবে প্রতিশ্রুতিবদ্ধ পথগুলির একটি তালিকা দেখান, যার সাথে পাথ রয়েছে৷
স্থানীয় পরিবর্তনগুলি যা অপ্রত্যাশিত ছেড়ে দেওয়া হবে এবং পথগুলি যা ট্র্যাক করা হয়নি৷
-- অবস্থা
এর আউটপুট অন্তর্ভুক্ত করুন git-স্থিতি(1) একটি ব্যবহার করার সময় কমিট বার্তা টেমপ্লেটে
প্রতিশ্রুতি বার্তা প্রস্তুত করার জন্য সম্পাদক। ডিফল্ট চালু, কিন্তু ওভাররাইড করতে ব্যবহার করা যেতে পারে
কনফিগারেশন ভেরিয়েবল commit.status.
--অবস্থা নাই
এর আউটপুট অন্তর্ভুক্ত করবেন না git-স্থিতি(1) কমিট মেসেজ টেমপ্লেটে ব্যবহার করার সময়
ডিফল্ট কমিট বার্তা প্রস্তুত করার জন্য একজন সম্পাদক।
-এস[ ], --gpg-চিহ্ন[= ]
GPG-চিহ্ন কমিট করে। keyid আর্গুমেন্ট ঐচ্ছিক এবং প্রতিশ্রুতির জন্য ডিফল্ট
পরিচয় যদি নির্দিষ্ট করা থাকে, তাহলে এটিকে স্পেস ছাড়াই বিকল্পে আটকে রাখতে হবে।
--no-gpg-চিহ্ন
কাউন্টারম্যান্ড commit.gpgSign কনফিগারেশন ভেরিয়েবল যেটি প্রত্যেককে জোর করে সেট করা হয়েছে
স্বাক্ষর করতে প্রতিশ্রুতিবদ্ধ।
--
বিকল্প হিসাবে আর কোন আর্গুমেন্ট ব্যাখ্যা করবেন না.
...
যখন কমান্ড লাইনে ফাইলগুলি দেওয়া হয়, কমান্ডটি এর বিষয়বস্তুগুলি কমিট করে
নামকরণকৃত ফাইলগুলি, ইতিমধ্যে মঞ্চস্থ পরিবর্তনগুলি রেকর্ড না করে। এই ফাইলের বিষয়বস্তু
আগে যা মঞ্চস্থ করা হয়েছে তার উপরে পরবর্তী কমিটের জন্যও মঞ্চস্থ করা হয়।
DATE তারিখে ফরম্যাট
GIT_AUTHOR_DATE, GIT_COMMITTER_DATE পরিবেশ ভেরিয়েবল এবং --date বিকল্প
নিম্নলিখিত তারিখ বিন্যাস সমর্থন করুন:
Git অভ্যন্তরীণ বিন্যাস
এটাই , কোথায় এর সংখ্যা
ইউনিক্স যুগের পর থেকে সেকেন্ড। একটি ইতিবাচক বা নেতিবাচক অফসেট
UTC থেকে। উদাহরণস্বরূপ CET (যা UTC থেকে 2 ঘন্টা এগিয়ে) হল +0200৷
RFC 2822
RFC 2822 দ্বারা বর্ণিত স্ট্যান্ডার্ড ইমেল বিন্যাস, উদাহরণস্বরূপ বৃহস্পতি, 07 এপ্রিল 2005
22:13:13 +0200।
আইএসও 8601
ISO 8601 মান দ্বারা নির্দিষ্ট সময় এবং তারিখ, উদাহরণস্বরূপ 2005-04-07T22:13:13। দ্য
পার্সার টি অক্ষরের পরিবর্তে একটি স্থান গ্রহণ করে।
বিঃদ্রঃ
এছাড়াও, তারিখের অংশ নিম্নলিখিত ফর্ম্যাটে গৃহীত হয়: YYYY.MM.DD,
MM/DD/YYYY এবং DD.MM.YYYY।
উদাহরণ
আপনার নিজের কাজ রেকর্ড করার সময়, আপনার কাজের গাছে পরিবর্তিত ফাইলগুলির বিষয়বস্তু থাকে
অস্থায়ীভাবে "সূচক" নামক একটি স্টেজিং এলাকায় সংরক্ষণ করা হয় ফালতু বা এলেবেলে লোক যোগ. একটি ফাইল হতে পারে
প্রত্যাবর্তন করা হয়েছে, শুধুমাত্র সূচকে কিন্তু কার্যকারী গাছে নয়, শেষ প্রতিশ্রুতিতে
গিট রিসেট হেড সহ -- , যা কার্যকরভাবে প্রত্যাবর্তন করে ফালতু বা এলেবেলে লোক যোগ এবং পরিবর্তন প্রতিরোধ করে
পরবর্তী প্রতিশ্রুতিতে অংশগ্রহণ থেকে এই ফাইলটিতে। রাষ্ট্র গড়ার পর হতে হবে
এই কমান্ডগুলির সাথে ক্রমবর্ধমানভাবে প্রতিশ্রুতিবদ্ধ, গিট কমিট (কোনও পথনাম প্যারামিটার ছাড়াই)
এখন পর্যন্ত যা মঞ্চস্থ হয়েছে তা রেকর্ড করতে ব্যবহৃত হয়। এটি কমান্ডের সবচেয়ে মৌলিক রূপ।
একটি উদাহরণ:
$ সম্পাদনা hello.c
$ git rm goodbye.c
$ git hello.c যোগ করুন
$ git কমিট
প্রতিটি পৃথক পরিবর্তনের পরে ফাইলগুলি স্টেজ করার পরিবর্তে, আপনি গিট কমিটকে নোটিশ করতে বলতে পারেন
ফাইলগুলির পরিবর্তনগুলি যার বিষয়বস্তুগুলি আপনার কাজের গাছে ট্র্যাক করা হয় এবং করে৷
আপনার জন্য সংশ্লিষ্ট গিট অ্যাড এবং গিট আরএম। যে, এই উদাহরণ হিসাবে একই কাজ করে
আপনার কাজের গাছে অন্য কোন পরিবর্তন না থাকলে আগের উদাহরণ:
$ সম্পাদনা hello.c
$rm goodbye.c
$ git কমিট -a
কমান্ড git commit -a প্রথমে আপনার কর্মরত গাছের দিকে তাকায়, লক্ষ্য করে যে আপনি পরিবর্তন করেছেন
hello.c এবং Goodbye.c সরিয়ে দিয়েছে, এবং আপনার জন্য প্রয়োজনীয় গিট অ্যাড এবং গিট আরএম সম্পাদন করে।
অনেক ফাইলে পরিবর্তনগুলি স্টেজ করার পরে, আপনি পরিবর্তনগুলি রেকর্ড করা ক্রম পরিবর্তন করতে পারেন,
গিট কমিটের পাথনাম দিয়ে। যখন পাথনাম দেওয়া হয়, কমান্ডটি একটি কমিট করে
এটি শুধুমাত্র নামকৃত পাথগুলিতে করা পরিবর্তনগুলি রেকর্ড করে:
$ সম্পাদনা hello.c hello.h
$ git hello.c hello.h যোগ করুন
$ edit Makefile
$ git কমিট মেকফাইল
এটি একটি প্রতিশ্রুতি তৈরি করে যা মেকফাইলে পরিবর্তন রেকর্ড করে। পরিবর্তনের জন্য মঞ্চস্থ
hello.c এবং hello.h ফলাফলের কমিটের অন্তর্ভুক্ত নয়। যাইহোক, তাদের পরিবর্তন হয়
হারিয়ে যায়নি - তারা এখনও মঞ্চস্থ এবং নিছক পিছিয়ে রাখা হয়। উপরের সিকোয়েন্সের পর যদি আপনি
একটি করুন:
$ git কমিট
এই দ্বিতীয় প্রতিশ্রুতি hello.c এবং hello.h-এ প্রত্যাশিত পরিবর্তনগুলি রেকর্ড করবে।
একটি একত্রীকরণের পরে (দ্বারা সূচিত ফালতু বা এলেবেলে লোক মার্জ or ফালতু বা এলেবেলে লোক টান) বিবাদের কারণে থেমে যায়, পরিষ্কারভাবে
একত্রিত পাথগুলি ইতিমধ্যেই আপনার জন্য প্রতিশ্রুতিবদ্ধ হওয়ার জন্য মঞ্চস্থ করা হয়েছে, এবং বিরোধপূর্ণ পথগুলি হল৷
একীভূত অবস্থায় রেখে গেছে। আপনাকে প্রথমে পরীক্ষা করতে হবে কোন পাথগুলির সাথে বিরোধপূর্ণ ফালতু বা এলেবেলে লোক
অবস্থা এবং আপনার কাজের গাছে সেগুলিকে ম্যানুয়ালি ঠিক করার পরে, আপনি ফলাফলটি হিসাবে মঞ্চস্থ করবেন
সঙ্গে স্বাভাবিক ফালতু বা এলেবেলে লোক যোগ:
$ git অবস্থা | grep unmerged
unmerged: hello.c
$ সম্পাদনা hello.c
$ git hello.c যোগ করুন
দ্বন্দ্ব সমাধান করার পরে এবং ফলাফল মঞ্চস্থ করার পরে, git ls-files -u উল্লেখ করা বন্ধ করবে
বিরোধপূর্ণ পথ। আপনি শেষ হয়ে গেলে, অবশেষে মার্জ রেকর্ড করতে গিট কমিট চালান:
$ git কমিট
আপনার নিজের পরিবর্তনগুলি রেকর্ড করার ক্ষেত্রে, আপনি টাইপিং সংরক্ষণ করতে -a বিকল্প ব্যবহার করতে পারেন। এক
পার্থক্য হল যে একটি মার্জ রেজোলিউশনের সময়, আপনি পাথনামের সাথে গিট কমিট ব্যবহার করতে পারবেন না
পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ ক্রম পরিবর্তন করুন, কারণ একত্রীকরণটি a হিসাবে রেকর্ড করা উচিত
একক প্রতিশ্রুতি প্রকৃতপক্ষে, পাথনাম দেওয়া হলে কমান্ডটি চলতে অস্বীকার করে (কিন্তু দেখুন -i
বিকল্প)।
আলোচনা
যদিও প্রয়োজন নেই, কমিট মেসেজটি একটি ছোট দিয়ে শুরু করা ভালো ধারণা
(50 অক্ষরের কম) লাইন পরিবর্তনের সংক্ষিপ্তসার, তারপরে একটি ফাঁকা লাইন এবং তারপরে একটি
আরো পুঙ্খানুপুঙ্খ বর্ণনা। একটি কমিট বার্তার প্রথম ফাঁকা লাইন পর্যন্ত পাঠ্য
কমিট শিরোনাম হিসাবে বিবেচনা করা হয় এবং সেই শিরোনামটি গিট জুড়ে ব্যবহৃত হয়। উদাহরণ স্বরূপ, গিট-
বিন্যাস-প্যাচ(1) একটি প্রতিশ্রুতিকে ইমেলে পরিণত করে এবং এটি বিষয় লাইনে শিরোনাম ব্যবহার করে এবং
শরীরের মধ্যে কমিট বাকি.
গিট কিছু পরিমাণে অক্ষর এনকোডিং অজ্ঞেয়বাদী।
ব্লব বস্তুর বিষয়বস্তু হল বাইটের অব্যক্ত ক্রম। এমন কিছু নেই
মূল স্তরে এনকোডিং অনুবাদ।
· পাথের নাম UTF-8 নর্মালাইজেশন ফর্ম সি-তে এনকোড করা হয়েছে। এটি গাছের বস্তুর ক্ষেত্রে প্রযোজ্য,
ইনডেক্স ফাইল, রেফ নাম, পাশাপাশি কমান্ড লাইন আর্গুমেন্টে পথের নাম,
পরিবেশ ভেরিয়েবল এবং কনফিগার ফাইল (.git/config (দেখুন git-config(1)), gitignore(২০১১),
gitaattributes(5) এবং gitmodules(5))।
মনে রাখবেন যে মূল স্তরে গিট পাথের নামগুলিকে কেবল নন-এনইউএল-এর ক্রম হিসাবে বিবেচনা করে
বাইট, কোন পাথ নাম এনকোডিং রূপান্তর নেই (ম্যাক এবং উইন্ডোজ ছাড়া)।
অতএব, নন-ASCII পাথের নামগুলি ব্যবহার করা বেশিরভাগ প্ল্যাটফর্ম এবং ফাইলেও কাজ করবে
যে সিস্টেমগুলি লিগ্যাসি বর্ধিত ASCII এনকোডিং ব্যবহার করে। যাইহোক, সংগ্রহস্থল তৈরি
এই ধরনের সিস্টেম UTF-8-ভিত্তিক সিস্টেমে সঠিকভাবে কাজ করবে না (যেমন Linux, Mac, Windows)
এবং বিপরীতভাবে. উপরন্তু, অনেক গিট-ভিত্তিক সরঞ্জামগুলি কেবল পথের নাম বলে ধরে নেয়
UTF-8 এবং অন্যান্য এনকোডিং সঠিকভাবে প্রদর্শন করতে ব্যর্থ হবে।
· কমিট লগ বার্তাগুলি সাধারণত UTF-8 এ এনকোড করা হয়, তবে অন্যান্য বর্ধিত ASCII এনকোডিং
এছাড়াও সমর্থিত হয়. এর মধ্যে রয়েছে ISO-8859-x, CP125x এবং আরও অনেকগুলি, কিন্তু না
UTF-16/32, EBCDIC এবং CJK মাল্টি-বাইট এনকোডিং (GBK, Shift-JIS, Big5, EUC-x, CP9xx
ইত্যাদি)।
যদিও আমরা উত্সাহিত করি যে কমিট লগ বার্তাগুলি UTF-8-এ এনকোড করা হয়েছে, উভয় মূল এবং
গিট পোরসেলিন প্রকল্পগুলিতে UTF-8 জোর না করার জন্য ডিজাইন করা হয়েছে। যদি সকল অংশগ্রহণকারী ক
নির্দিষ্ট প্রজেক্টে উত্তরাধিকার এনকোডিং ব্যবহার করা আরও সুবিধাজনক বলে মনে করে, গিট নিষেধ করে না
এটা তবে কয়েকটি বিষয় মাথায় রাখতে হবে।
1. ফালতু বা এলেবেলে লোক সমর্পণ করা এবং ফালতু বা এলেবেলে লোক কমিট-ট্রি কমিট লগ মেসেজ দেওয়া হলে একটি সতর্কতা জারি করে
একটি বৈধ UTF-8 স্ট্রিংয়ের মতো দেখায় না, যদি না আপনি স্পষ্টভাবে বলেন যে আপনার প্রকল্প একটি ব্যবহার করে
উত্তরাধিকার এনকোডিং। এটা বলার উপায় হল .git/config এ i18n.commitencoding থাকা
ফাইল, এই মত:
[i18n]
কমিটেনকোডিং = ISO-8859-1
উপরোক্ত সেটিং দিয়ে তৈরি করা বস্তুগুলি i18n.commitencoding-এর মান রেকর্ড করে
এর এনকোডিং হেডারে। এটি অন্য লোকেদের সাহায্য করার জন্য যারা পরে তাদের দেখেন। অভাব
এই হেডারটি বোঝায় যে কমিট লগ বার্তাটি UTF-8 এ এনকোড করা হয়েছে।
2. ফালতু বা এলেবেলে লোক লগ ইন করুন, ফালতু বা এলেবেলে লোক প্রদর্শনী, ফালতু বা এলেবেলে লোক দোষ এবং বন্ধুরা একটি কমিটের এনকোডিং হেডারের দিকে তাকায়
বস্তু, এবং অন্যথায় নির্দিষ্ট না হলে লগ বার্তাটিকে UTF-8-এ পুনরায় কোড করার চেষ্টা করুন। আপনি
.git/config-এ i18n.logoutputencoding সহ কাঙ্ক্ষিত আউটপুট এনকোডিং নির্দিষ্ট করতে পারে
ফাইল, এই মত:
[i18n]
লগআউটপুটেনকোডিং = ISO-8859-1
আপনার যদি এই কনফিগারেশন ভেরিয়েবল না থাকে, তাহলে i18n.commitencoding এর মান হল
পরিবর্তে ব্যবহৃত।
নোট করুন যে আমরা ইচ্ছাকৃতভাবে কমিট লগ বার্তা পুনরায় কোড না করা বেছে নিয়েছি যখন একটি কমিট হয়
কমিট অবজেক্ট লেভেলে UTF-8 জোর করার জন্য তৈরি করা হয়েছে, কারণ UTF-8-তে রি-কোডিং করা হয় না
অগত্যা একটি বিপরীত অপারেশন।
পরিবেশ এবং কনফিগারেশন বৈচিত্র্য
কমিট লগ বার্তা সম্পাদনা করতে ব্যবহৃত সম্পাদকটি GIT_EDITOR থেকে বেছে নেওয়া হবে
পরিবেশ পরিবর্তনশীল, core.editor কনফিগারেশন ভেরিয়েবল, ভিজ্যুয়াল পরিবেশ
পরিবর্তনশীল, বা EDITOR পরিবেশ পরিবর্তনশীল (সেই ক্রমে)। দেখা git-var(1) বিস্তারিত জানার জন্য।
আঙ্গুলসমূহ
এই কমান্ড কমিট-মেসেজ, প্রস্তুতি-কমিট-মেসেজ, প্রি-কমিট এবং পোস্ট-কমিট হুক চালাতে পারে।
দেখ githooks(5) আরও তথ্যের জন্য।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে গিট-কমিট ব্যবহার করুন