একই সময়ে গিতে একাধিক ফাইল কীভাবে যুক্ত করা যায়


120

এটি আমার প্রথম গিট ব্যবহার হবে। আমি ফোল্ডার / প্রকল্পে (গিট স্থানীয় সংগ্রহস্থল) নতুন ফাইল (প্রচুর) যুক্ত করেছি।

আমি অনলাইন টিউটোরিয়াল এবং ফোরামে গিয়েছিলাম এবং দেখতে পাচ্ছি যে আমি করতে পারি

git commit -a

সুতরাং আমি সংগ্রহস্থলের বেস ফোল্ডারে যান এবং একটি

sudo git commit -a

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

আপনি কি দয়া করে আমার ব্যবহার করার জন্য প্রয়োজনীয় আদেশগুলি রূপরেখার করতে পারেন?

git commit -a 

এবং

git push?

1
git commit -aপ্রতিশ্রুতি বার্তা টাইপ করার জন্য একটি সম্পাদক খোলে। আপনি লগ হিসাবে দেখতে চান এমন একটি বার্তা প্রবেশ করুন এবং সম্পাদকটি থেকে প্রস্থান করুন। এটি প্রতিশ্রুতি পূর্ণ। দূরবর্তী সংগ্রহস্থলগুলিতে git push <remote name> <branch name>যেমন পরিবর্তনগুলি ঠেকিয়ে তা অনুসরণ করুনgit push remote master
ভাস্কর

3
এছাড়াও খেয়াল করুন, আপনার প্রয়োজন হবে না (এবং ব্যবহার করা উচিত নয়)sudo
ডেক্স

উত্তরের জন্য ধন্যবাদ। যদি আমি sudo ব্যবহার না করি তবে আমি অনুমতি ত্রুটি অস্বীকার করি।
কিশোর।

2
পূর্বে sudo ব্যবহার করার পরে, আপনার সম্ভবত সম্ভবত আপনার ওয়ার্কিং ডিরেক্টরিতে ফাইল রয়েছে যা এখন ভুল করে মূলের মালিকানাধীন। এই মুহুর্তে sudo ছাড়া অন্য ক্রিয়াকলাপগুলি অনুমতি অস্বীকারের ত্রুটির কারণ হতে পারে কারণ আপনি রুটের মালিকানাধীন এই ফাইলগুলি পরিবর্তন করতে পারবেন না। আপনার সংগ্রহশালাটি কিছুটা গোলমাল হতে পারে এবং আবার শুরু করা ভাল (এবং sudo ব্যবহার করবেন না )।
গ্রেগ হিউগিল

আপনি যদি সমস্ত ফাইল যুক্ত করতে চান তবে আপনি `গিট অ্যাড-এ। ব্যবহার করতে পারেন ut তবে আপনি যদি একাধিক নির্বাচিত ফাইল যুক্ত করতে চান। আপনি 'গিট অ্যাড-আই' ব্যবহার করতে পারেন। দয়া করে এই git-scm.com/book/en/v2/Git-Tools- ইন্টারেক্টিভ-স্টেজিং রেফার করুন । এটি আপনাকে সাহায্য করবে।
কপিলা রানাসিংহে

উত্তর:


120

আপনার করা সমস্ত পরিবর্তন যুক্ত করতে:

git add .

তাদের প্রতিশ্রুতিবদ্ধ:

git commit -m "MY MESSAGE HERE" # -m বার্তা পতাকা

আপনি এই পদক্ষেপগুলি একসাথে এইভাবে রাখতে পারেন:

git commit -a -m "MY MESSAGE HERE"

আপনার স্থানীয় সংগ্রহস্থল থেকে আপনার দূরবর্তী সংগ্রহস্থলে আপনার প্রতিশ্রুতিবদ্ধ পরিবর্তনগুলি ঠেলে দিতে:

git push origin master

এর পরে আপনাকে গিথুবের জন্য আপনার ব্যবহারকারীর নাম / পাসওয়ার্ড টাইপ করতে হবে। গিট ব্যবহার করার জন্য এখানে একটি ভাল প্রাইমার। কিছুটা পুরানো, তবে এটি কী ঘটছে তা কভার করে।


হবে -aসামনে কমিট নতুন (unstaged) ফাইল যোগ করতে চান?
সাব্রেভল্ফি

git commit -aসংক্ষিপ্ত জন্য git commit --all, তাই হ্যাঁ, এটি হবে।
ডেক্স

1
$ man git-commitএর জন্য এটি অন্তর্ভুক্ত রয়েছে -a: "কমান্ডকে এমন ফাইলগুলি স্বয়ংক্রিয়ভাবে মঞ্চ করতে বলুন যা মোডিফ করা হয়েছে এবং মুছে ফেলা হয়েছে, কিন্তু আপনি যে নতুন ফাইল সম্পর্কে গিটকে বলেননি সেগুলি ক্ষতিগ্রস্থ হয় না।", এই কারণেই আমি জিজ্ঞাসা করেছি।
সাব্রেভল্ফি

সম্পূর্ণতার জন্য এক ধরণের একাধিক ফাইল যুক্ত করার সহজ
উপায়টি হুড়হুড়ি

382

git addকমান্ডটি ব্যবহার করুন , তারপরে স্পেস-বিভাজিত ফাইলের নামের তালিকা। অন্যান্য ডিরেক্টরিতে যেমন পাথ অন্তর্ভুক্ত করুন, যেমন directory-name/file-name

git add file-1 file-2 file-3

1
কেবলমাত্র ফাইলের নাম উল্লেখ করলে এই ত্রুটিটি "মারাত্মক: প্যাথস্পেক 'ফাইল নাম.জভা' কোনও ফাইলের সাথে মেলে না। পরিবর্তে পুরো ফাইল পাথ এবং ফাইলের নাম উল্লেখ করুন যেমন 'গিট অ্যাড লং / পাথ / {ফাইল1, ফাইল 2, ..., ফাইলন}'
শ্রাবণ রামমূর্তি

4
ফাইলের নামের মধ্যে একটিতে গিট ১.৯.৫ সহ একটি সাদা জায়গা অন্তর্ভুক্ত থাকলে এটি কাজ করে না
ম্যাক্সিমেল হেলেন

আমাদের এটি থেকে "<" এবং ">" অপসারণ করতে হবে। এটি কাউকে বিভ্রান্ত করবে।
সা Saeedদ এন্তেজারি

30

যেহেতু কেউ কেউ সম্ভাব্য উপায় উল্লেখ করেছেন গিট ইন্টারেক্টিভ স্টেজিং ব্যবহার করা । আপনার যখন বিভিন্ন এক্সটেনশনের ফাইল থাকে তখন এটি দুর্দান্ত

$ git add -i
           staged     unstaged path
  1:    unchanged        +0/-1 TODO
  2:    unchanged        +1/-1 index.html
  3:    unchanged        +5/-1 lib/simplegit.rb

*** Commands ***
  1: status     2: update      3: revert     4: add untracked
  5: patch      6: diff        7: quit       8: help
What now>

আপনি যদি টিপেন 2 তবে enterযোগ করার জন্য উপলভ্য ফাইলগুলির একটি তালিকা পাবেন:

What now> 2
           staged     unstaged path
  1:    unchanged        +0/-1 TODO
  2:    unchanged        +1/-1 index.html
  3:    unchanged        +5/-1 lib/simplegit.rb
Update>>

এখন আপনাকে যে ফাইলগুলি যুক্ত করতে চান তার সংখ্যা সন্নিবেশ করতে হবে, তাই যদি আমরা যুক্ত করতে চাই TODOএবং index.htmlআমরা টাইপ করব1,2

Update>> 1,2
           staged     unstaged path
* 1:    unchanged        +0/-1 TODO
* 2:    unchanged        +1/-1 index.html
  3:    unchanged        +5/-1 lib/simplegit.rb
Update>>

* নাম্বারের আগে আপনি দেখতে পাচ্ছেন ? এর অর্থ এই যে ফাইলটি যুক্ত হয়েছিল।

এখন কল্পনা করুন যে আপনার কাছে 7 টি ফাইল রয়েছে এবং আপনি 7 তম ব্যতীত এগুলি যুক্ত করতে চান? নিশ্চিত যে আমরা টাইপ করতে 1,2,3,4,5,6পারি কিন্তু কল্পনা করতে পারি 7 এর পরিবর্তে আমাদের 16 টি রয়েছে, এটি বেশ জটিল হবে, ভাল জিনিসটি আমাদের এগুলি সব টাইপ করার দরকার নেই কারণ আমরা টাইপ করে রেঞ্জ ব্যবহার করতে পারি1-6

Update>> 1-6
           staged     unstaged path
* 1:    unchanged        +0/-1 TODO
* 2:    unchanged        +1/-1 index.html
* 3:    unchanged        +5/-1 lib/simplegit.rb
* 4:    unchanged        +5/-1 file4.html
* 5:    unchanged        +5/-1 file5.html
* 6:    unchanged        +5/-1 file6.html
  7:    unchanged        +5/-1 file7.html
Update>>

আমরা এমনকি একাধিক ব্যাপ্তি ব্যবহার করতে পারি, তাই আমরা যদি 1 থেকে 3 এবং 5 থেকে 7 পর্যন্ত টাইপ করি তবে 1-3, 5-7:

Update>> 1-3, 5-7
           staged     unstaged path
* 1:    unchanged        +0/-1 TODO
* 2:    unchanged        +1/-1 index.html
* 3:    unchanged        +5/-1 lib/simplegit.rb
  4:    unchanged        +5/-1 file4.html
* 5:    unchanged        +5/-1 file5.html
* 6:    unchanged        +5/-1 file6.html
* 7:    unchanged        +5/-1 file7.html
Update>>

আমরা এটি ফাইলগুলি আনস্টেজ করার জন্যও ব্যবহার করতে পারি, যদি আমরা টাইপ করি -number, সুতরাং আমরা যদি ফাইল নম্বর 1 টি স্টেস্টেজ করতে চাইতাম তবে আমরা টাইপ করব -1:

Update>> -1
           staged     unstaged path
  1:    unchanged        +0/-1 TODO
* 2:    unchanged        +1/-1 index.html
* 3:    unchanged        +5/-1 lib/simplegit.rb
  4:    unchanged        +5/-1 file4.html
* 5:    unchanged        +5/-1 file5.html
* 6:    unchanged        +5/-1 file6.html
* 7:    unchanged        +5/-1 file7.html
Update>>

এবং আপনি যেমন কল্পনা করতে পারেন আমরাও বিভিন্ন ধরণের ফাইল আনস্টেজ করতে পারি, তাই আমরা যদি -rangeএই ব্যাপ্তির সমস্ত ফাইল টাইপ না করে থাকি । আমরা 5 থেকে 7 পর্যন্ত সমস্ত ফাইল আনস্টেজ করতে চাইলে আমরা টাইপ করব -5-7:

Update>> -5-7
           staged     unstaged path
  1:    unchanged        +0/-1 TODO
* 2:    unchanged        +1/-1 index.html
* 3:    unchanged        +5/-1 lib/simplegit.rb
  4:    unchanged        +5/-1 file4.html
  5:    unchanged        +5/-1 file5.html
  6:    unchanged        +5/-1 file6.html
  7:    unchanged        +5/-1 file7.html
Update>>

2
ব্যক্তিগতভাবে আমি এই ভাবে পছন্দ করি আপনার কাছে আরও ফাইল করার সময় এবং অন্যান্য ক্রিয়াকলাপগুলি ব্যবহার করা সহজ।
কপিলা রানাসিংহে

একবার আপনি শেষ হয়ে গেলে, কীভাবে আপনি ইন্টারেক্টিভ স্টেজিং শেষ করবেন?
Crparees

1
@ ক্র্পারেডিজ একবার ফাইল যুক্ত করার পরে আপনি আবার এন্টার টিপলে এটি আবার মেনুতে চলে যায়, তারপরে আপনাকে 7ইন্টারেক্টিভ স্টেজিং থেকে প্রস্থান করার বিকল্প বেছে নিতে হবে ।
ফ্যাবিও অ্যান্টুনস

28

আপনি এর মতো একাধিক ফাইলও নির্বাচন করতে পারেন

git add folder/subfolder/*

এটি নির্দিষ্ট সাবফোল্ডারের সমস্ত ফাইল যুক্ত করবে। আপনি যখন একটি গুচ্ছ ফাইলগুলি সম্পাদনা করেন তখন খুব দরকারী তবে আপনি কেবল সেগুলির মধ্যে কয়েকটি প্রতিশ্রুতিবদ্ধ করতে চান ...


14

যদি আপনি একটি নির্দিষ্ট ফোল্ডারে একাধিক ফাইল যুক্ত করতে চান তবে আপনি এগুলি ব্যবহার করে বিভক্ত করতে পারেন {,}। দীর্ঘ পথগুলি পুনরাবৃত্তি না করার জন্য এটি দুর্দান্ত

git add long/path/{file1,file2,...,filen}

এর মধ্যে ফাঁকা স্থান না দেওয়ার বিষয়ে সতর্কতা অবলম্বন করুন ,


দীর্ঘ / পথ / এখানে কি? @ এলিউক্স
ললিথকুমার

দীর্ঘ / পথ একটি খুব দীর্ঘ দৈর্ঘ্য সঙ্গে একটি পাথ স্ট্রিং হতে পারে, তার আরো আরামদায়ক না পুনরাবৃত্তি যেমন অংশ তাই হয়, না করেও cdতা
EliuX

4

আপনি যখন ফাইলগুলি পরিবর্তন করেন বা সংগ্রহস্থলগুলিতে একটি নতুন যুক্ত করেন আপনাকে প্রথমে সেগুলি মঞ্চ করতে হবে।

git add <file>

বা আপনি যদি সব মঞ্চে চান

git add .

এটি করে আপনি নিজের প্রতিশ্রুতিতে কোন ফাইলগুলি চান তা গিটকে বলতে যাচ্ছেন। তারপরে আপনি:

git commit -m 'your message here'

তুমি ব্যাবহার কর

git push origin master

যেখানে উত্স হল দূরবর্তী সংগ্রহস্থল শাখা এবং মাস্টার হ'ল আপনার স্থানীয় সংগ্রহস্থল শাখা।


ধন্যবাদ!. শেষ কমান্ডে গিট পুশ অরিজিন মাস্টার। আমি আসলে একটি ভিন্ন শাখার নাম (যা মাস্টার শাখা থেকে তৈরি হয়েছিল) নিয়ে কাজ করছি। সুতরাং আমার শাখার নাম বা উত্স মাস্টার সম্পর্কে আমার কী দরকার? ধন্যবাদ আবার
কিশোর।

কোনও সমস্যা নেই :) :) হ্যাঁ, আপনার শাখার নামগুলি ব্যবহার করা উচিত, উত্স মাস্টার কেবল উদাহরণ।
সোমি

1

মনে হচ্ছে গিটটি আপনার সম্পাদককে সম্ভবত চালু করছে (সম্ভবত vi) যাতে আপনি একটি কমিট বার্তা টাইপ করতে পারেন। আপনার সাথে পরিচিত না হন, তাহলে vi, এটা মূলসূত্র শেখা সহজ । বিকল্পগুলি হ'ল:

  • ব্যবহার করুন git commit -a -m "my first commit message"কমান্ড লাইন বার্তা কমিট নির্দিষ্ট করার (এই ব্যবহার করে একটি সম্পাদক চালু করা হবে না)

  • EDITORপরিবেশের পরিবর্তনশীল কোনও সম্পাদকের সাথে সেট করুন যা আপনি পরিচিত


যারা প্রত্যুত্তর করেছেন তাদের সবাইকে অনেক ধন্যবাদ। আমি আমার ফাইলগুলি সফলভাবে প্রতিশ্রুতিবদ্ধ এবং ধাক্কা দিয়েছি।
কিশোর।

1

আপনি যদি গিথুব এ আপনার সমস্ত ফাইল মঞ্চ করতে এবং প্রতিশ্রুতিবদ্ধ করতে চান তবে নিম্নলিখিতগুলি করুন;

git add -A                                                                                
git commit -m "commit message"
git push origin master

0

👉 পদক্ষেপ 1

git init

👉 পদক্ষেপ 2।

ক) সমস্ত ফাইলের জন্য

git add -a

খ) শুধুমাত্র নির্দিষ্ট ফোল্ডার

git add <folder1> <folder2> <etc.>

👉 স্টিপি 3।

git commit -m "Your message about the commit"

👉 পদক্ষেপ 4।

এখানে চিত্র বর্ণনা লিখুন

git remote add origin https://github.com/yourUsername/yourRepository.git

👉 পদক্ষেপ 5

git push -u origin master
git push origin master

আপনি যদি এই ত্রুটির চেয়েও মুখোমুখি হন

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/harishkumawat2610/Qt5-with-C-plus-plus.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Command এই কমান্ডটি ব্যবহার করুন

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