আমি কীভাবে গিট দিয়ে ফাইল কমিট করতে পারি?


85

টিউটোরিয়াল কোনটিই সাহায্য করবে না!
তারা সকলেই সেই কাজটি করে যেখানে তারা ধরেই নেয় আমি কী করব জানি ..

বর্তমানে, আমার টার্মিনাল উইন্ডোটি দিয়ে শুরু হয় ...

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    httpdocs/newsite/manifest/cache/0a432970ba6491fe65dad60b012e5c95_louloumay2011en-1-4dea3186b7f7b.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0a61b5d7a9e97da78fe602e1ad41edb6_5-4dec7c3d57c80.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0afb6a7716a85d0de46cdd03bb30f75f_fifa_panorama_full_page-01_thu-4dea3d1a0e0f5.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0b3bc9be76a5d3e1e36af4b8dcf98658_free2-4df0e2e08761f.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0b6342913b8e599fac76da452af98ec5_si-feb-2009-1-4dea3d1abcb61.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0b9ddc587340f7744e03c4b2dafacf7f_lou-lou-winter-2009-cover-4dea3d1a9b1a0.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0bf64ff8fc22720b3da20d0730fa6a04_chatelaine-dec-2009-4dea3d18daa30.jpg
#       deleted:    httpdocs/newsite/manifest/cache/0bf664e03eb0a2255b69b02aed85add0_summumfeb2011-2-4dea3188766aa.jpg

কিন্তু কিভাবে তারা এখানে কি বলছি কি করতে কোন উপায় ..
http://learn.github.com/p/normal.html

এটি সবই বলে

আমরা কেবল আমাদের প্রতিশ্রুতি বার্তা টাইপ করি এবং সম্পাদকটি থেকে প্রস্থান করি।

ওটার মানে কি?!
আপনি কেবল এই শব্দটি লেখার অর্থ এটি সহজ নয় বলে বোঝায় ..

আমি যখন এটি টাইপ করতে শুরু করি তখন এটি জঘন্য স্টাফগুলি করে, "রেকর্ডিং" বা ""োকানো" বলে এবং প্রায় 300 টি ফাইল রয়েছে এবং এটি আমাকে প্রতিটি বার্তা একটি বার্তা দিয়ে প্রতিস্থাপন করতে চায় ?!?

সাহায্য!

আমি এটির জন্য তাদের সহজ ম্যাক অ্যাপ্লিকেশনটি ব্যবহার করব তবে এটি যদি 20 বা তার বেশি ফাইল হয় তবে এটি জমা হয়ে যায়!
কি হয়েছে ??


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

4
অ-যুক্তি ছাড়াই প্রতিশ্রুতিবদ্ধ একটি পাঠ্য সম্পাদক চালু করে যেখানে আপনি নিজের মন্তব্য করতে পারেন। (সম্ভবত এই ক্ষেত্রে ভিমে ডিফল্ট করা হচ্ছে)) টিউটোরিয়াল লেখক ধরে নিচ্ছেন যে আপনি এটি ইতিমধ্যে ব্যবহার করতে জানেন know
অ্যালেক্স হাওয়ানস্কি

@ এলেক্স ব্যাখ্যা দেওয়ার জন্য আপনাকে ধন্যবাদ
কर्क স্ট্রোবেক

আমার চেয়ে ওএসএক্সের সাথে আরও পরিচিত কেউ সম্ভবত আপনাকে বলতে পারেন যে কীভাবে আপনার ডিফল্ট সম্পাদককে আলাদা কিছুতে সেট করা যায়। আপনার শেল স্টার্টআপ কনফিগারেশনে সাধারণত এটি "রফতানি EDITOR = / পথ / থেকে / যাই হোক"।
অ্যালেক্স হাভান্সকি

6
আরটি-এর জন্য [এফ] এম। ডিফল্ট সম্পাদক সমস্যা হিসাবে উপস্থিত হবে, গিট ডকুমেন্টেশন পড়ার অভাব নয়।
ফিলিপ ওকলে

উত্তর:


93

আপনি যখন git commitকোনও যুক্তি ছাড়াই চলবেন না, এটি আপনাকে একটি প্রতিশ্রুতি বার্তা টাইপ করার মঞ্জুরি দেওয়ার জন্য এটি আপনার ডিফল্ট সম্পাদকটি খুলবে। ফাইলটি সংরক্ষণ করা এবং সম্পাদকটি ছাড়াই প্রতিশ্রুতিবদ্ধ হবে।

দেখে মনে হচ্ছে আপনার ডিফল্ট সম্পাদকটি ভি বা ভিম। "টাইপ করার সময়" অদ্ভুত জিনিসগুলি ঘটে যাওয়ার কারণটি হ'ল ভি inোকানো মোডে শুরু হয় না - আপনাকে iপ্রথমে আপনার কীবোর্ডে আঘাত করতে হবে ! আপনি যদি এটি না চান তবে আপনি এটিকে সহজ কিছুতে পরিবর্তন করতে পারেন, উদাহরণস্বরূপ:

git config --global core.editor nano

তারপরে আপনি ন্যানো সম্পাদকটি লোড করবেন (এটি ইনস্টল করে ধরেছেন!) আপনি যখন প্রতিশ্রুতিবদ্ধ হন, যা ভিআই এর মতো কোনও মডেল সম্পাদক ব্যবহার করেন নি এমন ব্যবহারকারীদের জন্য এটি অনেক বেশি স্বজ্ঞাত।

আপনি আপনার স্ক্রিনে যে পাঠ্যটি দেখছেন তা হ'ল আপনি যা করতে চলেছেন তা আপনাকে কেবল স্মরণ করিয়ে দেওয়ার জন্য। লাইনগুলি এর আগে রয়েছে #যার অর্থ তারা মন্তব্য করছে, অর্থাত্ যখন আপনি আপনার প্রতিশ্রুতি বার্তাটি সংরক্ষণ করেন গিট সেই লাইনগুলিকে উপেক্ষা করে। আপনার ফাইল প্রতি বার্তা টাইপ করার দরকার নেই - সম্পাদকের বাফারের শীর্ষে কিছু পাঠ্য প্রবেশ করুন।

সম্পাদককে বাইপাস করতে, আপনি যুক্তি হিসাবে একটি প্রতিশ্রুতি বার্তা সরবরাহ করতে পারেন, যেমন

git commit -m "Added foo to the bar"

আপনি যখন "উপেক্ষা" বলবেন তার অর্থ কি এটি মঞ্চস্থ থাকবে?
কर्क স্ট্রোবেক

4
না, এই রেখাগুলি প্রতিশ্রুতিবদ্ধ হতে প্রভাবিত করে না। আপনি মন্তব্য লাইনগুলি মুছলেও এমনকি এই ফাইলগুলি প্রতিশ্রুতিবদ্ধ হবে। আপনি যখন git commitকমান্ডটি চালাচ্ছিলেন তখন এগুলি আপনার সংগ্রহস্থলের অবস্থান কী ছিল তা কেবলমাত্র একটি অনুস্মারক're
বেন জেমস

সুতরাং আমি যদি প্রতিশ্রুতি পরিচালনা করি, পরিবর্তনটি রেকর্ড করা হবে, এমনকি যদি #সেই লাইনে কোনও আছে ?
কर्क স্ট্রোবেক

4
ঐটা ঠিক. যা প্রতিশ্রুতিবদ্ধ তা হ'ল git addসূচকে উত্সাহবদ্ধ।
বেন জেমস

এর পরিবর্তে অন্য একটি বিকল্প রয়েছে git commit, আপনি চালাতে পারেন তবে git commit -a -m "Your message for the commit"কোনও সম্পাদক চলবে না run

27

মনে হচ্ছে এখানে একমাত্র সমস্যা হ'ল লঞ্চ করা ডিফল্ট সম্পাদক viবা আপনি vim, যার সাথে আপনি পরিচিত নন। (দ্রুত টিপ হিসাবে, পরিবর্তনগুলি সংরক্ষণ না করেই যে সম্পাদক থেকে প্রস্থান করার জন্য আঘাত Escকয়েক বার এবং তারপর টাইপ করুন :, q, !এবং Enter।)

আপনার ডিফল্ট সম্পাদক সেট আপ করার বিভিন্ন উপায় রয়েছে এবং আপনি কোন অপারেটিং সিস্টেমটি ব্যবহার করছেন তা আপনি চিহ্নিত করেননি, তাই বিশেষত একটির সুপারিশ করা কঠিন। আমি ব্যবহার করার পরামর্শ দেব:

 git config --global core.editor "name-of-your-editor"

... যা কোনও নির্দিষ্ট সম্পাদকের জন্য একটি গ্লোবাল গিট পছন্দ নির্ধারণ করে। বিকল্পভাবে আপনি $EDITORপরিবেশ পরিবর্তনশীল সেট করতে পারেন ।


আপনার vimঠকানো শীটটি মূল্যবান, বিশেষত যারা "এই আইকনটির মূল্য হাজার কমান্ড লাইনের ;-)" সম্প্রদায়ের থেকে আসে
ফিলিপ ওকলে

আমি কেবলমাত্র viemu.com/a-why-vi-vim.html কেন vi / vim এখানে রয়েছি তা ব্যাখ্যা করার জন্য বিশেষভাবে সহায়ক হতে পেলাম । তারপরে কীবোর্ডের চিট শীটটিতে
ফিলিপ ওকলে

25

স্ট্যান্ডার্ড ভিআই সম্পাদক এ পরিস্থিতিতে আপনার উচিত

  1. Esc টিপুন
  2. ": wq" টাইপ করুন (উদ্ধৃতি ব্যতীত)
  3. টিপুন

16

সমস্ত পরিবর্তিত ফাইল কমিট করার কমান্ড:

git commit -a -m 'My commit comments'

-a = সমস্ত সম্পাদিত ফাইল

-m = নিম্নলিখিত স্ট্রিং একটি মন্তব্য।

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

git push

গিটহাবের ঠকানো শীটটি বেশ কার্যকর।


13

আমি আপনার সিস্টেমের পরিবেশ জানি না, তবে মনে হয় আপনি টাইপ করেছেন:

git commit

এবং আপনার ডিফল্ট সম্পাদক চালু করা হয়েছে। সবচেয়ে খারাপ পরিস্থিতিতে (আপনার জন্য) এটি ভিএম হতে পারে :)

আপনি যদি ভিএম ছেড়ে যেতে জানেন না, তবে: q ব্যবহার করুন।

আপনার যদি আরও সমস্যা হয় তবে আপনি ব্যবহার করতে পারেন

git commit -m 'Type your commit message here'

এটির সাথে খুলতে পারে এমন কোনও আলাদা সম্পাদক বাছাই করার কোনও উপায় আছে কি? ন্যানোর মতো?
কर्क স্ট্রোবেক

4
অবশ্যই: এটি ডিফল্ট সম্পাদককে ন্যানোতে
গ্লোবাল

ডাবল উদ্ধৃতিতে বার্তা .. "বার্তা"
প্রেবস

2

গিট কমিটগুলি প্রস্তুত করতে "সূচক" ব্যবহার করে। প্রতিশ্রুতিবদ্ধ হওয়ার আগে আপনি সূচি থেকে পরিবর্তনগুলি যুক্ত এবং মুছে ফেলতে পারেন (আপনার পেস্টে আপনি ইতিমধ্যে with 10 ফাইল মুছে ফেলেছেন git rm)। সূচিটি যখন আপনার মনে হচ্ছে এটি চালান git commit

সাধারণত এটি জ্বলবে vim। টেক্সট হিট ঢোকাতে i, <esc>সাধারণ মোডে ফিরে যায়, আঘাত ZZসংরক্ষণ করতে এবং প্রস্থান ( ZQসংরক্ষণ না করে প্রস্থান করার জন্য)। ভাল, আপনার প্রতিশ্রুতিবদ্ধ আছে


2

আপনি যখন কোনও বার্তা অন্তর্ভুক্ত করবেন না যখন আপনি এটি ব্যবহার করার প্রতিশ্রুতি দেওয়ার চেষ্টা করেন:

git commit

এটি সম্পাদক পরিবেশ চালু করে। :q!এন্টার লিখে টাইপ করে এটিকে ছেড়ে দিন it

এটি আপনাকে বিনা প্রতিশ্রুতি ছাড়াই টার্মিনালে ফিরিয়ে আনতে চলেছে, তাই আবার চেষ্টা করে দেখুন, বার্তাটি বার করুন:

git commit -m 'Initial commit'

4
প্রকৃতপক্ষে প্রসঙ্গটি কী ঘটছে এবং কীভাবে "অদ্ভুত জিনিস" আবার সাধারণ করা যায় তা ব্যাখ্যা করে এটি আমাকে গ্রহণযোগ্য উত্তরের চেয়ে বেশি সাহায্য করেছিল।
টিমমকেয়ে

1

দেখে মনে হচ্ছে সমস্ত সম্পাদনা ইতিমধ্যে সূচকের একটি অংশ। তাই ব্যবহার সমর্পণ করতে commitকমান্ড

git commit -m "My Commit Message"

আপনার বার্তাগুলির দিকে তাকানো যদিও আমার প্রবৃত্তিটি বলে যে আপনি সম্ভবত cacheফাইলগুলি আপনার ডিপোতে অন্তর্ভুক্ত করতে চান না । বিশেষত যদি এটি এমন কিছু যা আপনার প্রোগ্রামটি চালানোর সময় ফ্লাইতে নির্মিত। যদি তা হয় তবে আপনার .gitignore ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করা উচিত

httpdocs/newsite/manifest/cache/*

এটি একটি সাব প্রকল্প ছিল, পুরো দির সরানো হচ্ছে।
কर्क স্ট্রোবেক

তা দেখতে সব কমান্ড টাইপ হয়েছে Git git --helpএই আপনার মত সব কমান্ড দিতে হবে commit, push, pull, cloneএকটি নির্দিষ্ট কমান্ড এবং কি সুইচ প্রাপ্তিসাধ্য ধরনের হয় উপর সাহায্য পেতে ইত্যাদি git commit --help, git push --helpএই লিনাক্স এবং ম্যাক কমান্ড লাইন কাজ করা উচিত। আপনি যদি একটি ভাল কমান্ড লাইন অ্যাপ্লিকেশন চান তবে আমি git-scmএই পৃষ্ঠায় একই গিথুব লিঙ্কটি করতে চাই। help.github.com/mac-set-up-git
আলী

1

আমি একই সমস্যার মুখোমুখি হয়েছি, টাইপ করে :q!হিট করেছি Enter এবং হিট করে এটি আমার সমস্যার সমাধান করেছে তার পরে নিম্নলিখিত কমান্ডটি চালান git commit -a -m "your comment here"

এটি আপনার সমস্যার সমাধান করা উচিত।


4
এই উত্তরটি ইতিমধ্যে এখানে দেওয়া হয়েছে ( stackoverflow.com/a/7080907/2827823 ) ... আসলে দু'বার, সুতরাং আমাদের আর একটির দরকার নেই need
Ason
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.