গিট অ্যাড এবং একটি কমান্ড কমিট


392

আমি কি কোন উপায় আছে?

git add -A
git commit -m "commit message"

এক আদেশে?

আমি এই দুটি কমান্ডটি অনেকগুলি করে চলেছি বলে মনে হচ্ছে, এবং যদি গিটের মতো বিকল্প git commit -Am "commit message"থাকে তবে এটি জীবনকে আরও সুবিধাজনক করে তুলবে।

git commitহয়েছে -aপরিবর্তক, কিন্তু এটা বেশ করছেন হিসাবে একই করেন না git add -Aসংগঠনের আগে। git add -Aসদ্য নির্মিত ফাইলগুলি যুক্ত করে, তবে git commit -amতা করে না। কি করে?



1
সময় সাশ্রয় এবং প্রতি পরিবর্তন প্রতিশ্রুতিবদ্ধ করা ভাল, তাই আমি গিট কমিট -am ব্যবহার করছি"yes the code in committed"
রিজো

git add .সমস্ত যোগ করার জন্য একটি দ্রুত বিকল্প
রায়ান 13

উত্তর:


419

আপনি গিট এলিয়াসগুলি ব্যবহার করতে পারেন, যেমন

git config --global alias.add-commit '!git add -A && git commit'

এবং এটি দিয়ে ব্যবহার করুন

git add-commit -m 'My commit message'

সম্পাদনা: টিক্সে ফিরে যাওয়া ('), অন্যথায় এটি লিনাক্সের শেল প্রসারণের জন্য ব্যর্থ হবে। উইন্ডোজে , তার পরিবর্তে ডাবল-কোট (") ব্যবহার করা উচিত (মন্তব্যগুলিতে নির্দেশিত, যাচাই করা হয়নি)।


24
git config --global --unset alias.<your_alias>উপনামটি আনসেট করতে ব্যবহার করুন ।
TMOTTM

11
@ এমআরফিউশন এটি কমান্ডটি অভ্যন্তরীণ গিট কমান্ডের শর্টকাটের পরিবর্তে একটি বাহ্যিক শেল কমান্ড তৈরি করে, অর্থাৎ সম্পূর্ণ লাইনটিকে পৃথক প্রক্রিয়া হিসাবে কার্যকর করা হবে।
মার্টিন সি

8
আমি পছন্দ করি git config --global alias.add-commit '!git add -A && git commit -m'তাই আমাকে -mপ্রতিবার টাইপ করতে হবে না ।
ভাস্বর

21
আমি প্রতিবার 'অ্যাড-কমিট' এবং '-ম' টাইপ করতে খুব অলস। ফলস্বরূপ, আমি টাইপ করি: git config --global alias.ac '!git add -A && git commit -m' একবার এবং প্রতিবার আমি কেবল টাইপ করি: git ac 'comment' :)
নাভিদ ভফাই

5
git config --global alias.add-commit "!git add -A && git commit"(অর্থাত্ সিঙ্গল কোটের পরিবর্তে ডাবল কোটস) উইন্ডোজে কাজ করে।
সাহেদ

269
git commit -am "message"

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

git add .
git commit -m "message"

নতুন বা পরিবর্তিত সমস্ত ফাইল যুক্ত করার সহজ উপায়। এছাড়াও, ক্যাচ-সমস্ত যোগ্যতা প্রযোজ্য। উপরের কমান্ডগুলি কমান্ড ব্যতীত মুছে ফেলা ফাইলগুলি মুছবে না git rm

git add app
git commit -m "message"

একক দির থেকে সমস্ত ফাইল সূচকে যুক্ত করার একটি সহজ উপায়, এক্ষেত্রে appদির।


41
বা কেবল git commit -am "message"- কেবল নিশ্চিত করুন যে এমন কোনও নতুন ফাইল নেই যা গিট এখনও হাতে নেয়নি। অন্যথায় আপনার git add . &&সামনে এটি ব্যবহার করতে হবে .... এটি এক লাইনে করার জন্য।
আদালত

2
দুঃখিত তবে মূল প্রশ্নটি হুবহু এই ছিল - git add .ফাইলগুলি যুক্ত হওয়ার ক্ষেত্রে এড়ানো এড়ানো
9'19

50

এটি এক লাইনে রাখতে ব্যবহার করুন:

git add . && git commit -am "comment"

এই লাইনটি সমস্ত পরিবর্তিত এবং সংযুক্ত ফাইলগুলিকে ভান্ডারগুলিতে যুক্ত এবং প্রতিশ্রুতিবদ্ধ করবে।


12
লক্ষ করা উচিত যে এটি একটি লিনাক্স শেল (ব্যাশ এবং সম্ভবত অন্যদের) সাথে নির্দিষ্ট।
আর মার্টিনহো ফার্নান্দেস

6
git commit -am "comment"নির্ভুল
অভিষেক বেদী

2
যদি আপনি ব্যবহার করেন: তবে আপনাকে git add . বিকল্প -a ব্যবহার করার দরকার নেই , কেবল দরকার:git commit -m "comment"
ডুক চি

18

কেবল আপনার আদেশগুলি একত্রিত করুন:

git add -A && git commit -m "comment" 

18

শুধু অভিযোজিত এইচসি এর উত্তর এবং courtsimas এর জন্য মন্তব্য লিনাক্স ব্যাশ :

এটি এক লাইনে রাখতে ব্যবহার করুন:

git commit -am "comment"

এই লাইনটি সমস্ত পরিবর্তিত ভান্ডারে যুক্ত এবং প্রতিশ্রুতিবদ্ধ হবে ।

কেবল নিশ্চিত করুন যে এমন কোনও নতুন ফাইল নেই যা গিটটি এখনও গ্রহণ করে নি। অন্যথায় আপনার ব্যবহার করতে হবে:

git add . ; git commit -am "message"


কীভাবে করবেন git commit -am "comment", তবে কেবল 1 টি ফাইলের জন্য? এর কথা বলা যাক file.txt যাও
সন্তোষ কুমার

git commit -am "comment"সমস্ত পরিবর্তিত ফাইল যুক্ত এবং প্রতিশ্রুতিবদ্ধ করার জন্য একটি শর্টকাট। আপনি যদি চালাতে চান তার চেয়ে বেশি মাত্র 1 টি ফাইল যুক্ত এবং প্রতিশ্রুতিবদ্ধ করতে চান:git add file.txt ; git commit -m "comment"
ড্যানিলো

দ্বিতীয় ক্ষেত্রে, এম সহ -a যোগ করার দরকার নেই। এটি গিট অ্যাড করা উচিত। ; গিট কমিট-এম "বার্তা"
মণীশ বানসাল

12

গিটের পরবর্তী সংস্করণে আপনি এটি যুক্ত এবং প্রতিশ্রুতিবদ্ধ করতে পারেন

git commit -a -m "commit message"

অতিরিক্তভাবে আপনি একটি উপনাম:

[alias]
    ac = commit -a -m

তারপরে আপনি এটি ব্যবহার করতে পারেন:

git ac "commit message"

6
এই কমান্ডটি নতুন ফাইলগুলির প্রতিশ্রুতি দেবে না, কেবলমাত্র আপডেট হওয়াগুলি।
রুভিম

11

আমার উইন্ডোজ মেশিনে আমি এটি সেট আপ করেছি .bashrc পুরো প্রক্রিয়াটিকে আরও সহজ করার জন্য ওরফেটি ।

  • আপনার তৈরি / সনাক্ত করুন .bashrc- SO থ্রেড উল্লেখ করুন
  • ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন

    alias gacp='echo "enter commit message : " && read MSG && git add . && git commit -m "$MSG" && git push'
    

    এটি গিট কমিট এবং ধাক্কা যোগ করে না। এটিকে কোনও উপায়ে টুইঙ্ক করুন, বলুন যে আপনি চাপ কমান্ডটি সেই অংশটি সরাতে চান না remove

  • রিলোড .bashrcআপনার শেলটি পুনরায় / বন্ধ এবং পুনরায় খুলুন

  • এখন আপনি gacpকমান্ড দিয়ে সম্পূর্ণ প্রক্রিয়া করতে পারেন ।

এফওয়াইআই স্ক্রিপ্টটির এতে রয়েছে git push। কপি এবং পেস্ট করবেন না।
ইয়ার

11

আপনি নিশ্চিতভাবে ব্যবহার করতে পারবেন:

git commit -am "commit all the things"

1
এই আদেশটি হ'ল সংক্ষিপ্ততম এবং সম্ভবত প্রয়োজনীয় ফলাফল অর্জনের সবচেয়ে সহজ উপায়। গিট সংস্করণ 2.6.3.windows.1 এ পরীক্ষা করুন।
ইথার

5
এটি নতুন যুক্ত হওয়া ফাইলগুলি সংঘটিত করবে না, কেবলমাত্র "আপডেটেড" ফাইলগুলি!
ব্যবহারকারী 13107

1
সঠিক এটি আন-ট্র্যাক হওয়া ফাইলগুলি ট্র্যাকিং শুরু করবে না
ব্লেয়ার অ্যান্ডারসন

@ ব্লায়ারএন্ডারসন - আন-ট্র্যাক করা ফাইলগুলি যুক্ত ও প্রতিশ্রুতি যুক্ত করার জন্য কি কোনও আদেশ রয়েছে?
মাস্টারজয়ে

6

আপনি যদি টাইপ করেন:

git config --global alias.a '!git add -A && git commit -m'

একবার, আপনার শুধু টাইপ করতে হবে

git a

প্রত্যেকবার:

git a 'your comment'

4
এটি সর্বোপরি উত্তর হওয়া উচিত, অতি সহজ এবং অন্যান্য পরামর্শগুলির চেয়ে বেশিরভাগ ক্ষেত্রে UNTRACKED ফাইল অন্তর্ভুক্ত করা উচিত।
জেসিবয়েড

6

শুধু ব্যবহার করুন:

git commit -m "message" .     

"লক্ষ্য করুন।" শেষে ... যা ফাইল / ডিরেক্টরিতে যাওয়ার পথও হতে পারে


এটি কি নতুন তৈরি করা ফাইল বা কেবলমাত্র বিদ্যমান ফাইলগুলির জন্য কাজ করবে?
মাস্টারজয়ে

5

আমি একটি শেল করি

#!/bin/sh

clear

git add -A 
git commit -a -m "'$*'"

উদাহরণস্বরূপ git.sh সংরক্ষণ করুন এবং পরে কল করুন:

sh git.sh your commit message

1
অন্যান্য অপারেটিং সিস্টেমের কাছে পোর্টেবল নয়, এবং গিট নিজেই এটি করতে পারে, তবে কী দরকার?
nnot101

2
@ naught101 এটি স্পষ্টতই যে গিটটি নিজে এটি করতে পারে, মূল কথাটি এই শেলটি লিনাক্সের উপর গিট ব্যবহার করা লোকদের জন্য এই প্রক্রিয়াটি সহজতর করার জন্য কাজ করে, একটি sh git.sh চালিয়ে যাওয়ার জন্য সহজ প্রতিশ্রুতি দেয়, আপনার প্রতিশ্রুতি বার্তা দেয়, এবং বহনযোগ্য হয় না এর অর্থ এই নয় যে এটি সঠিকভাবে কাজ করবে।
ademar111190

5

আমি এই ফাংশন আছে আমার .bash_profileবা .profileবা .zprofileবা যাই হোক না কেন লগইন শাঁস মধ্যে sourced পরার:

function gac () {
  # Usage: gac [files] [message]
  # gac (git add commit) stages files specified by the first argument
  # and commits the changes with a message specified by the second argument.
  # Using quotes one can add multiple files at once: gac "file1 file2" "Message".
  git add $1 && git commit -m "$2"
}

3

আপনি সিএ ব্যবহার -a

git commit -h

...
Commit contents options
    -a, -all    commit all changed files
...

git commit -a # It will add all files and also will open your default text editor.

2

আমি আশা করি এটি কাউকে সহায়তা করে এবং দয়া করে বিনা দ্বিধায় সম্পাদনা বা উন্নতি করতে পারেন। আমি নিশ্চিত না যে দ্রুততম উপায়টি কী তবে এটি অবশ্যই গিটের জন্য "ohmyzsh" ব্যবহার করে আমার কোড কমিট প্রক্রিয়াটিকে সহজতর করে ।

https://ohmyz.sh/

  • git add . সংক্ষিপ্ত করা হয় ga .
  • git commit -m "message" সংক্ষিপ্ত করা হয় gc -m "message"
  • git push সংক্ষিপ্ত করা হয় gp

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


1

আমি নিম্নলিখিতটি ব্যবহার করি (উভয়ই অগ্রগতিতে কাজ করছে, তাই আমি এটি আপডেট করার বিষয়টি মনে রাখার চেষ্টা করব):

# Add All and Commit
  aac = !echo "Enter commit message:" && read MSG && echo "" && echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"$MSG\" && echo "" && echo "New status:" && echo "===========" && git status

# Add All and Commit with bumpted Version number
  aacv = !echo "Status before chagnes:" && echo "======================" && git status && echo "" && echo "Adding all..." && echo "=============" && git add . && echo "" && echo "Committing..." && echo "=============" && git commit -m \"Bumped to version $(head -n 1 VERSION)\" && echo "" && echo "New status:" && echo "===========" && git status

echo "Enter commit message:" && read MSGঅংশটি দিয়ে সোজন ভি জোসে অনুপ্রাণিত

আমি if elseসেখানে একটি বিবৃতি পেতে চাই যাতে আমি এটিভিটি আমার কাছে জিজ্ঞাসা করতে পারি যে এটি শেষ হয়ে গেলে আমি স্থাপন করতে চাই এবং 'y' টাইপ করলে আমার জন্য এটি করতে পারি, তবে আমার ধারণা যে এটি আমার .zshrcফাইলে রাখা উচিত


1

আমি সমস্ত যুক্ত করার জন্য এবং প্রতিশ্রুতিবদ্ধতার জন্য নীচের নামটি ব্যবহার করি :

git config --global alias.ac '!git add -A && git commit -a'

তারপরে, টাইপ করে:

git ac

আমার প্রতিশ্রুতি বার্তার জন্য আরও সম্পাদনার সরঞ্জাম পেতে আমি একটি ভিম উইন্ডো পেয়েছি।


চৌর্যবৃত্তির জন্য আমার বিরুদ্ধে মামলা করা উচিত। :)
নাভিদ ভাফেই

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

@ ইউনোশচ আমি অনুমান করি যে পোস্ট করার আগে আমি নাভিদের উত্তর দেখতে পাইনি কারণ তিনি "খুব অলস": পি এর পুরো উত্তর হিসাবে পোস্ট করেছেন। প্রকৃতপক্ষে, এটি একই, এবং প্রকৃতপক্ষে আমার অনেক আগে থেকেই এই ওরফে আছে, সহকর্মীর কাছ থেকে এটি ধার করা। সুতরাং আমি অনুমান করি আমরা এটিকে ডাকতে পারি: চৌর্যবৃত্তির চেইন। দুঃখিত যদি এটি আপনাকে বিরক্ত করে।
গস

1

যদি কেউ কোনও একক ফাইলের জন্য "যুক্ত এবং প্রতিশ্রুতিবদ্ধ" করতে চান, যা আমার ক্ষেত্রে ছিল, আমি স্ক্রিপ্টটি কেবল এটির জন্য তৈরি করেছিলাম:

#!/bin/bash

function usage {
    echo "Usage: $(basename $0) <filename> <commit_message>"    
}

function die {
    declare MSG="$@"
    echo -e "$0: Error: $MSG">&2
    exit 1
}

(( "$#" == 2 )) || die "Wrong arguments.\n\n$(usage)"

FILE=$1
COMMIT_MESSAGE=$2

[ -f $FILE ] || die "File $FILE does not exist"

echo -n adding $FILE to git...
git add $FILE || die "git add $FILE has failed."
echo done

echo "commiting $file to git..."
git commit -m "$COMMIT_MESSAGE" || die "git commit has failed."

exit 0

আমি এর নাম দিয়েছি "gitfile.sh" এবং এটি আমার AT PATH এ যুক্ত করেছি। তারপরে আমি গিট অ্যাড চালাতে পারি এবং একটি কমান্ডে একটি ফাইলের জন্য কমিট করতে পারি:

gitfile.sh /path/to/file "MY COMMIT MESSAGE"

0

আমি এই গিট ওরফে ব্যবহার করি:

git config --global alias.cam '!git commit -a -m '

সুতরাং, কল পরিবর্তে

git add -A && git commit -m "this is a great commit"

আমি শুধু করি:

git cam "this is a great commit"


0

আপনি গিট কমিট -am "[মন্তব্য]" // সেরা সমাধান বা গিট অ্যাড ব্যবহার করতে পারেন । && গিট কমিট-এম "[মন্তব্য]"


0

আপনার কী কী উপাধি আছে তা আগে পরীক্ষা করুন ...

git config --get-regexp alias

এটি যদি না থাকে তবে আপনি নিজের তৈরি করতে পারেন (তথ্যসূত্র: https://git-scm.com/book/en/v2/Git- বেসিকস- গিট- এ্যালিয়াস )

// গিট অ্যাড

git config --global alias.a '!git add -A'

// গিট কমিট

git config --global alias.c '!git commit'

// গিট কমিট-এম

git config --global alias.cm '!git commit -m'

// গিট অ্যাড কমিট

git config --global alias.ac '!git add -A && git commit'

// গিট অ্যাড কমিট-মি

git config --global alias.acm '!git add -A && git commit -m'

উদাহরণস্বরূপ, আপনি যদি সর্বশেষটি ব্যবহার করেন ...

git acm 'My commit'

0
  1. ব্যাশে একটি উপনাম তৈরি করুন: alias gac="git add -A && git commit -m"

    (আমি শর্টকাটটিকে 'গ্যাক' বলার জন্য বেছে নিয়েছি তবে আপনার দরকার নেই)

  2. এটা ব্যবহার করো: gac 'your commit message here'


0

ভিড়ের মধ্যে রৌপ্য পিঠের জন্য যা সাবভারশনের মতো জিনিসগুলিতে অভ্যস্ত ... শব্দের পুরানো অর্থে (যেমন - বা গিট স্পিচে - যোগ করতে, প্রতিশ্রুতিবদ্ধ করতে এবং ধাক্কা দেওয়ার) জন্য "কমিট" করা একক পদক্ষেপ আমি সাধারণত আমার প্রকল্পের মূলটিতে নিম্নলিখিতগুলির মতো কিছু যুক্ত করি (উইন্ডোতে ব্যাট ফাইল হিসাবে যেমন গিট-কমিট.ব্যাট)। তারপরে যখন আমি যুক্ত করতে, প্রতিশ্রুতিবদ্ধ করতে এবং চাপ দিতে চাই তখন আমি ঠিক এর মতো কিছু টাইপ করিgit-commit "Added some new stuff" এবং এটি সমস্ত দূরবর্তী রেপোতে যায়।

এছাড়াও, এই পদ্ধতিতে প্রকল্পের যে কেউ স্থানীয়ভাবে কিছু পরিবর্তন করতে পেরে একই ব্যবহার করতে পারে।

আমি সাধারণত git config credential.helper storeএকবারও চালাতাম তাই যখন এটি চালানো হয় তখন আমাকে ইউআইডি / পিডাব্লুডি দেওয়ার দরকার হয় না।

::
:: add, commit, and push to git
::

@echo off
echo.
echo.
echo 
echo Doing commit...
git add -A && git commit -m %1
echo.
echo.
echo Doing push...
git push
echo.
echo.
echo Done.
echo.

0

এটি আমার জন্য সর্বদা কাজ করে দয়া করে নিম্নলিখিত কমান্ডগুলি চালান:

1.git add .
2.git commit -m "no bugs please"
3.git push origin *

যেখানে * আপনি যে শাখায় চাপ দিচ্ছেন তা বন্ধ করে দেওয়া হয়েছে, এবং প্রতিশ্রুতিবদ্ধ প্রতিশ্রুতিগুলি প্রসঙ্গের সাথে মানিয়ে নিতে সর্বদা পরিবর্তন করা যেতে পারে।


-1
  1. আদর্শ git add . && git commit -am এবং প্রবেশ করুন
  2. আদর্শ history এবং প্রবেশ করুন
  3. উপরের কমান্ডের জন্য নম্বরটি মনে রাখবেন, সংখ্যাটি বলুন 543
  4. এখন থেকে প্রতিটি প্রতিশ্রুতি প্রকারের জন্য !543 "your comment here"অর্থহীন চিহ্ন + সংখ্যা এবং একটি স্থান এবং আপনার মন্তব্য।

4
আমি হ্রাস পেয়েছি কারণ এটি সত্যিই এক অদ্ভুত সমাধান যা আপনার ইতিহাসের মেয়াদ শেষ হওয়ার সাথে সাথে ভয়ঙ্কর উপায়ে জিনিসগুলি ভেঙে দিতে পারে এবং 543 তম আদেশটি অন্য কিছু হয়ে যায়।
bfontaine

-2

এই ফলাফল - এটি চেষ্টা করুন: গিট অ্যাড, গিট কমিট এবং গিট পুশের জন্য সাধারণ স্ক্রিপ্ট এক কমান্ড

আপনার সিএমডি উইন্ডোজে খুলুন এবং এই উত্তরটি পেস্ট করুন

git commit -m "your message" . && git push origin master

এই উদাহরণটি আমার ছবির স্ক্রিনশট: https://i.stack.imgur.com/2IZDe.jpg


-4

এটি এক লাইনে রাখতে ব্যবহার করুন:

gacm "your comment"

2
আপনি সম্ভবত এই বা একটি লিঙ্ক বা কিছু কিছু পটভূমি দিতে পারেন?
Gershom

7
আমি মনে করি এই পোস্টারটি উপস্বের সাথে কাজ করছে এবং এটি উপলব্ধি করে না। উপরের কাজটি করতে আপনি একটি শিট ওরফে পছন্দ করতে চান alias gacm="git add .; git commit -m"(বা আমি পছন্দ করি) গিট ওরফে মত git config --global alias.gacm '!git add .;git commit -m'
আমার উন্নয়ন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.