কিভাবে একক ফাইল / ডিরেক্টরি কমিট করতে


216

নিম্নলিখিত কমান্ড চেষ্টা:

git commit path/to/my/file.ext -m 'my notes'

গিট সংস্করণ 1.5.2.1 সংস্করণে একটি ত্রুটি পান:

error: pathspec '-m' did not match any file(s) known to git.
error: pathspec 'MY MESSAGE' did not match any file(s) known to git.

সিনেজ ফাইল বা ডিরেক্টরি কমিট করার জন্য এটি কি ভুল বাক্য গঠন?

উত্তর: এই আদেশে তর্কগুলি প্রত্যাশিত ছিল ...

git commit -m 'my notes' path/to/my/file.ext

আপডেট: এটি আর কঠোর নয় :)


1
আপনি কি নিশ্চিত যে আপনার সংস্করণটি সঠিক আছে? আপডেট করা হচ্ছে থেকে 1.5.2.1? 1.5.2.1 এখন 4 বছরের বেশি বয়সী।
সিবি বেইলি

গিট আপগ্রেড করা থেকে কিছু আপনাকে নিষেধ করছে?
অ্যাডাম ডাইমিট্রুক

বিটিডাব্লু: এটি একটি ভিএম ছিল পুরানো রেসিপি থেকে তৈরি। স্থানীয় গিট আপ টু ডেট ছিল, বুঝতে পারিনি যে এই সংস্করণটি প্রাচীন। কঠোরতা পাল্টে গেল।
ডাবলজোশ

উত্তর:


352

আপনার যুক্তিগুলি ভুল ক্রমে রয়েছে। চেষ্টা করুন git commit -m 'my notes' path/to/my/file.ext, বা আপনি আরও সুস্পষ্ট হতে চান, যদি git commit -m 'my notes' -- path/to/my/file.ext

ঘটনাচক্রে, গিট ভি 1.5.2.1 এর বয়স 4.5 বছর। আপনি একটি নতুন সংস্করণে আপডেট করতে চাইতে পারেন (1.7.8.3 বর্তমান প্রকাশ) release


2
আপনি একটি ভাল পর্যবেক্ষণ করুন। যাইহোক, উইন্ডোজে আকর্ষণীয়ভাবে গিট 1.7.5.1 স্বাচ্ছন্দ্যে গ্রহণ করেgit commit path_to_file -m 'message'
শ্রী

@ শ্রীশঙ্করণ: মনে হয় তারা তখন আদেশের বাইরে যুক্তিগুলি সনাক্ত করতে শিখিয়েছিল। তবে ডকুমেন্টেশন অনুসারে, সঠিক ক্রমটি ফাইলের তালিকাটি সর্বশেষে রেখে দেওয়া এবং জিনিসগুলির নথিভুক্ত সংস্করণে আটকে থাকা সম্ভবত একটি ভাল ধারণা।
লিলি ব্যালার্ড

ধন্যবাদ। এই বার্তাগুলির ক্রম পরিবর্তন হয়েছে ... বা কমপক্ষে আদেশের কঠোরতা বদল হয়েছে;)
ডাবলজোশ

1
@ ডেভিডডিমাল্যান্ট: আপনার অর্থ কী?
লিলি

1
@ihebiheb অধিকার জন্যে এখন আমি অন্য কোন অ পতাকা পরামিতি দেখতে না git commitতাই আমি উত্তর অনুমান হয় "কিছুই", কিন্তু অন্যান্য অনেক Git মধ্যে কমান্ড --(উদাহরণস্বরূপ অন্যান্য মুক্ত-আকৃতির আর্গুমেন্ট থেকে আলাদা পাথ, সঙ্গে প্রতিরোধ একটি পথ থেকে পরিবর্তে একটি সংশোধন পরিসীমা হিসাবে ব্যাখ্যা করা হচ্ছে)git log--
লিলি


16

আপনি যদি ফোল্ডারে থাকেন তবে ফাইলটি রয়েছে

git commit -m 'my notes' ./name_of_file.ext

1
যদি আমি ইতিমধ্যে ফাইলটিতে আছি, তবে আমার কি শীর্ষস্থানীয় "./" (ডট ফরোয়ার্ড-স্ল্যাশ) দরকার? আমি কি ব্যবহার করতে পারি git commit -m "my note" name_of_file.txt?
ক্রিস 22

@ ক্রিস 22 আমি নিশ্চিত না যে আপনি "আমি যদি আগে থেকেই ফাইলটিতে থাকি" (সম্ভবত আপনি "ডিরেক্টরিতে" বলতে চাইছেন?) বলতে চাইছেন ... ./তবে এটি কেবল সাধারণ পাথ সিনট্যাক্স, তবে হ্যাঁ, এই উদাহরণে প্রয়োজনীয় নয়।
জোনাথন ক্রস

7

-oবিকল্পটি ব্যবহার করুন ।

git commit -o path/to/myfile -m "the message"

-o, - কেবলমাত্র নির্দিষ্ট ফাইলগুলি প্রতিশ্রুতিবদ্ধ


এই বিকল্পটি প্রয়োজনীয় নয়। আপনি যদি কোনও প্রতিশ্রুতিবদ্ধ কমান্ডে কোনও ফাইল পৃষ্ঠা অন্তর্ভুক্ত করেন তবে কেবলমাত্র সেই ফাইলগুলিই এটি প্রতিশ্রুতিবদ্ধ।
ডাবলজোশ

আপনি যদি পরবর্তী প্যারামগুলির সাথে জগাখিচির সময় নিশ্চিত করতে চান কিনা তা জানা ভাল, উদাহরণস্বরূপ--amend
টমাস ভার্গা

5

প্রবেশ করা কমিট বার্তার পরে পথ নির্দিষ্ট করুন, যেমন:

git commit -m "commit message" path/to/file.extention

4

উইন্ডোজ on-তে গিট ১.৯.৫ এর জন্য: "আমার নোটস" (ডাবল কোটস) এই সমস্যাটি সংশোধন করেছে। আমার ক্ষেত্রে ফাইল (গুলি) -র 'বার্তা' এর আগে বা পরে রাখা। কোন পার্থক্য নেই; একক উদ্ধৃতি ব্যবহার করা সমস্যা ছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.