একসাথে গিট অ্যাড, কমিট এবং কমান্ড চাপুন?


219

এই তিনটি কমান্ড একসাথে ব্যবহার করার কোনও উপায় আছে কি?

git add .
git commit -a -m "commit" (do not need commit message either)
git push

কখনও কখনও আমি কেবল একটি বর্ণ, সিএসএস প্যাডিং বা অন্য কিছু পরিবর্তন করছি। তবুও, পরিবর্তনগুলি ঠেকাতে আমাকে তিনটি কমান্ড লিখতে হবে। এমন অনেক প্রকল্প রয়েছে যেখানে আমি কেবল এক ধাবক, সুতরাং এই আদেশটি দুর্দান্ত হবে!


10
আপনি কি শেল স্ক্রিপ্ট লেখার চেষ্টা করেছেন?
পল


আমার কোডে প্রচুর পরিবর্তন আছে, যখন আপনি সিএসএসে কেবল একটি প্যাডিং পরিবর্তন করছেন, বা একটি চিঠি এবং ইত্যাদি। বার্তা পাঠান এবং এই সমস্ত কমান্ড স্টাফ প্রচুর কাজ যোগ করে। শেল স্ক্রিপ্ট চেষ্টা করা হয়নি। এটা কিভাবে করা যায়? ধন্যবাদ!
গেদিমিনাস

2
"(কোনও প্রতিশ্রুতিবদ্ধ বার্তার দরকার নেই)" images.wikia.com/dragonball/images/a/a7/Facepalm_227785.jpg
আজেদি 32

2
যদি আপনি পরিবর্তনের প্রতিটি একক জন্য প্রতিশ্রুতিবদ্ধ থাকেন তবে আপনি এটি ভুল করছেন। আপনার বৈশিষ্ট্য শেষ হয়ে গেলে বা বাগটি সমাধান হয়ে গেলে কমান্ডটি করুন (এটি একটি একক পরিবর্তন হতে পারে)
চিহ্নিত করুন

উত্তর:


233

@ গ্যাভিনের উত্তর বন্ধ করে দেওয়া:

একটি উপাধিকারের পরিবর্তে অলসতাকে একটি ক্রিয়াকলাপ তৈরি করা আপনাকে এটিকে একটি যুক্তি পাস করার অনুমতি দেয়। আমি আমার .Bashrc (বা ম্যাক। .Bash_profile) এ নিম্নলিখিতগুলি যুক্ত করেছি:

function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

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

lazygit "My commit msg"

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


10
পুনঃসূচনা প্রয়োজন নেই, কেবল "উত্স .bashrc" করুন
সামিট ত্রিপিঠি

25
উদ্ধৃতিগুলি টাইপ করে সংরক্ষণ করার $*পরিবর্তে ব্যবহার $1করতে পারে:lazygit My commit msg
কাই কার্ভার

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

6
অলস, সর্বকালের সেরা নাম!
ব্যবহারকারী 1447414

4
@ বিটিএসএ আমাকে কূটনীতিক ব্যক্তিত্ব হ'ল শুক্রবার। @ কাইকার্ভার পরামর্শটি ব্যবহার করে এখানে ফাংশনটি দেওয়া হচ্ছে: function dirtygit() { git add . git commit -a -m "$*" git push }
ওঙ্কল্যাপস

83

আমি আমার .gitconfigফাইলটিতে একটি উপনাম যুক্ত করে শেষ করেছি :

[alias]
    cmp = "!f() { git add -A && git commit -m \"$@\" && git push; }; f"

ব্যবহার: git cmp "Long commit message goes here"

সমস্ত ফাইল যুক্ত করে, তারপরে কমিটের বার্তার জন্য মন্তব্যটি ব্যবহার করে এবং এটি উত্স পর্যন্ত ঠেলে দেয়।

আমি মনে করি এটি আরও ভাল সমাধান কারণ প্রতিশ্রুতিবদ্ধ বার্তাটি কী তার উপর আপনার নিয়ন্ত্রণ রয়েছে।

কমান্ড লাইন থেকে উপনামটিও সংজ্ঞায়িত করা যেতে পারে, এটি এটি আপনার সাথে যুক্ত করে .gitconfig:

git config --global alias.cmp '!f() { git add -A && git commit -m "$@" && git push; }; f'

6
ঠিক আমি যা খুঁজছিলাম! পুরোপুরি কাজ করে, ধন্যবাদ! আমি একটি সম্পূর্ণ সিনট্যাক্স রেফারেন্স বা কমান্ডের বিশদ তালিকা খুঁজে পাইনি। !f() { ... }; fঠিক কি করে ? এই লাইনের আরও ব্যাখ্যা উত্তর আরও ভাল করে তুলবে।
দিমিত্রি গ্যামোলিন

1
@ দিমিত্রিডেমির এটি ফাংশনটি সংজ্ঞায়িত করে f, তারপরে ফোন করে।
অলিভার

সত্যিই ভাল কাজ করে। আমি git pullশুরুতে যুক্ত করেছি যাতে মার্জগুলি হ্রাস পায়।
বুরহান

1
@ অলিভার কেন এটি উদ্ধৃতিতে? কেন একটি বিস্মৃতিবোধ আছে? শেষে চ কি ফাংশন কল করে? "$ @" কী?
ফিলিপ রেগো

@ ফিলিপরেগো ভুল অলিভার: পি
অলিভার

53

যদিও আমি ওয়েন ওয়ার্নারের সাথে তার সন্দেহের বিষয়ে একমত, এটি প্রযুক্তিগতভাবে একটি বিকল্প:

git config alias.acp '! git commit -a -m "commit" && git push'

যা চালনা করে এমন একটি উপকরণের সংজ্ঞা দেয় commitএবং push। এটি হিসাবে ব্যবহার করুন git acp। দয়া করে সচেতন হন যে এই জাতীয় "শেল" উপাধিগুলি সর্বদা আপনার গিট সংগ্রহস্থলের মূল থেকে চালিত হয়।

আরেকটি বিকল্প হতে পারে একটি পোস্ট-কমিট হুক লিখুন যা পুশ করে।

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

git config alias.acp '! acp() { git commit -a -m "$1" && git push ; } ; acp'

(অবশ্যই, এখন আপনাকে একটি প্রতিশ্রুতি বার্তা দিতে হবে git acp "My message goes here!":)


@ ডাব্লুএলজেড আমি কেবল এটি চেষ্টা করেছি এবং এটি ভাল কাজ করে। নোট করুন যে পুরো স্ট্রিংটি একক-কোটের মধ্যে রয়েছে। gitস্বয়ংক্রিয়ভাবে পলায়ন যোগ করা হয়েছে (চেক করা হয়েছে git config -e)।
টিলম্যান ভোগেল

দুঃখিত, আপনি ঠিক বলেছেন :)। আমি সরাসরি .gitconfig ফাইলটি সম্পাদনা করি। "ইতিমধ্যে \" নিয়ে পালিয়েছে।
wlz

2
কেন এটি গৃহীত উত্তর নয়? এটি যা চাওয়া হয়েছিল তা করে। +1 টি।
lucid_dreamer

1
উইন্ডোজে, পাওয়ারশেলের কাছ থেকে এটির কাজ পেতে আমার ডাবল উদ্ধৃতিগুলি রক্ষা করতে হবে (ব্যবহার করে ... \ "$ 1 \" ...)
ড্রিমার ২

35

আমি মনে করি আপনি সম্ভবত সেই কাজের প্রবাহকে ভুল বুঝে যা গিটটি ডিজাইন করা হয়েছিল was (মন্তব্যে আমি কী বোঝাতে চাইছিলাম তা স্পষ্ট / সংশোধন করতে, আপনার প্রয়োজন হবে না git add ., যেহেতু commit -aসাধারণত একই উদ্দেশ্য হয় - ফাইলগুলি ইতিমধ্যে যুক্ত করা থাকলে এমন কোনও পরিবর্তন যুক্ত করুন যা এখনও মঞ্চস্থ হয়নি)

সাধারণত আপনি এরকম কিছু করবেন:

# make some changes
$ git commit -a -m "Changed something"
# make some more changes
$ git commit -a -m "Changed something else"

এক্স ফিচার এক্স শেষ না হওয়া পর্যন্ত ধুয়ে, ধুয়ে ফেলুন, পুনরাবৃত্তি করুন, বা আপনি একটি থামার স্থানে রয়েছেন বা আপনি অন্য লোকেরা কী করেছেন তা দেখতে চান। তাহলে তুমি করো

$ git push

গিট এসভিএন নয় - তবে মনে হচ্ছে আপনি এটিকে ব্যবহার করার চেষ্টা করছেন। আপনি প্রবন্ধের শেষে সম্পদের কিছু পেতে পারে এখানে কিছু ব্যবহার করা যাবে।


6
কর্মপ্রবাহ সম্পর্কে ব্যাখ্যার জন্য +1। তবে git add .এবং git commit -a একই জিনিস নয়
গ্যাব্রিয়েল পেট্রোনেলা

5
ব্যাখ্যার জন্য ধন্যবাদ, তবে জিআইটি ধসে পড়বে না যদি তাদের মতো যারা এমন কি জানেন যে তারা কী করছেন জানেন তাদের জন্য ...
গেডিমিনাস

4
@ লুকাস: অভিজ্ঞ প্রোগ্রামাররা আপনাকে বলবে যে লোকেরা স্বয়ংক্রিয় কমিট-পুশ কমান্ড চেয়ে থাকে তারা জানে না যে তারা কী করছে। 3-পর্যায়ে কোড চেকিন করার কারণ রয়েছে (যদি আপনি বৈশিষ্ট্যগুলি শাখা ব্যবহার করেন তবে 4-পর্যায়)।
slebetman

1
@ স্লেবেটম্যান: আমি এটি সঠিকভাবে ব্যাখ্যা করিনি। ফেসবুক অ্যাপ্লিকেশন সহ, প্রতিটি একক পরিবর্তন অবশ্যই উন্নয়নের জন্য লাইভ সার্ভারে স্থাপন করা উচিত। সুতরাং, আমাদের এটির জন্য কমিট হুক সেটআপ আছে। আপনি একটি পরিবর্তন করেন, এটি প্রতিশ্রুতিবদ্ধ করুন এবং আপনার অ্যাপ্লিকেশনটির পরিবর্তনটি দেখুন। গিট সহ, আমি যুক্ত করতে হবে, একক পরিবর্তন দেখতে স্টেজ তারপর এটি চাপুন। এটি কি ওভারকিল দেখাচ্ছে না?
সেনজি

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

35

আমি এটি আমার .বাশ_প্রফাইলে ব্যবহার করি

gitpush() {
    git add .
    git commit -m "$*"
    git push
}
alias gp=gitpush

এটি কার্যকর করে

gp A really long commit message

source ~/.bash_profileউপনামটি সংরক্ষণ করার পরে দৌড়াতে ভুলবেন না ।


1
আমি সত্যিই এটি পছন্দ করি. ... এবং তাই এটি আমার নিজস্ব ~ /
.Bash_profile

28

যে কোনও কমান্ড বা কমান্ডের গোষ্ঠী চালু করতে আপনি বাশ স্ক্রিপ্ট ব্যবহার করতে পারেন, উপকরণ সেট করতে পারেন

git commit -am "your message" && git push 

2
আপনি যদি এই উত্তরটি দিতে চান তবে দয়া করে এটি কীভাবে কাজ করে তার চারপাশে আরও কমেন্ট্রি যুক্ত করুন। কেবলমাত্র একটি কোড ডাম্পের উত্তরগুলি সাধারণত ভালভাবে গৃহীত হয় না। কিভাবে উত্তর দিতে দেখুন ।
হেরেটিক বানর

আমি মনে করি এটির সঠিক উত্তর হওয়া উচিত। এটি যতটা সম্ভব সংক্ষিপ্তভাবে প্রশ্নের উত্তর হিসাবে। এটি কেবল টার্মিনালে টাইপ করুন এবং এটি কাজ করে! আপনি যদি কোনও উপনাম যুক্ত করতে না চান তবে বিকল্পটি হ'ল একটি পাঠ্য তৈরি করুন এক্সপান্ডারকে প্রসারিত করুন এবং কী-কম্বোর মাধ্যমে এটি ট্রিগার করুন।
14:33

19

ব্যাশে একটি উপাধি হিসাবে সেট করুন:

$ alias lazygit="git add .; git commit -a -m '...'; git push;";

ডাকা:

$ lazygit

(এই ওরফে স্থায়ী করতে, আপনাকে এটি আপনার .bashrc বা .Bash_profile এ অন্তর্ভুক্ত করতে হবে)


এটি স্থায়ী করার জন্য আপনার এটির নাম বাশার্ক বা .বাশ_প্রফাইলে যুক্ত করা দরকার
গ্যাভিন

আমি মনে করি এই পৃষ্ঠাটি ব্যাখ্যা করতে সাহায্য করতে পারে: serverfault.com/questions/3743/…
গাভিন

17

সহজ সমাধানটি হ'ল:

git commit -a -m "commit" && git push

git add ইতিমধ্যে কমিটের একটি প্যারামিটারে অন্তর্ভুক্ত রয়েছে, তবে আপনি যদি চান তবে আপনি সেগুলি সমস্ত সংযুক্ত করতে পারেন:

git add . && git commit -a -m "commit" && git push

10

লিনাক্স / ম্যাকের ক্ষেত্রেও এই ব্যবহারিক বিকল্পটি কাজ করা উচিত

git commit -am "IssueNumberIAmWorkingOn --hit Enter key
> A detail here --Enter
> Another detail here --Enter
> Third line here" && git push --last Enter and it will be there

আপনি যদি স্থানীয়ভাবে নির্মিত একটি নতুন শাখায় কাজ করছেন তবে git pushটুকরাটি পরিবর্তন করুনgit push -u origin branch_name

আপনি যদি সিস্টেম সম্পাদকে আপনার প্রতিশ্রুতি বার্তা সম্পাদনা করতে চান তবে

git commit -a && git push 

সম্পাদকটি খুলবে এবং বার্তাটি সংরক্ষণ করার পরে এটি এটিকে চাপ দেবে।


8

আপনি গিটু চেষ্টা করতে পারেন ।

প্রথমবারের জন্য (নোড জেএস ইনস্টল করতে হবে):

npm install -g git-upload

তারপর:

gitu COMMIT_MSG

একবারে এই তিনটি কমান্ড জারি করা।

ভাল জিনিস হ'ল আপনি যখন আপনার সিস্টেমটি পুনরায় ইনস্টল করবেন বা যখন আপনি বিভিন্ন কম্পিউটারে এটি করতে চান তখন আপনাকে চিন্তা করতে হবে না এবং কোনও ফাইল পরিবর্তন করার প্রয়োজন নেই। এটি বিভিন্ন প্ল্যাটফর্মগুলিতে (কেবল লিনাক্স এবং ম্যাক নয়, উইন্ডোজ আন্ডার কমান্ড প্রম্প্টের মতো cmdএবং powershell) ঠিক তেমন কাজ করে যা আপনাকে ইনস্টল করতে হবে npmএবং nodejs( gitঅবশ্যই)।


6

যদি ফাইলটি ইতিমধ্যে ট্র্যাক করা থাকে তবে আপনার চালানোর দরকার নেই git add, আপনি কেবল লিখতে পারেনgit commit -am 'your message'

আপনি যদি কোনও প্রতিশ্রুতি বার্তা লিখতে না চান তবে আপনি এমন কিছু করার কথা বিবেচনা করতে পারেন

git commit --allow-empty-message -am ''


4

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

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

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

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


3

এই উত্তরে উল্লিখিত হিসাবে , আপনি একটি গিট ওরফে তৈরি করতে পারেন এবং এর জন্য কমান্ডের একটি সেট বরাদ্দ করতে পারেন । এই ক্ষেত্রে, এটি হবে:

git config --global alias.add-com-push '!git add . && git commit -a -m "commit" && git push'

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

git add-com-push

1
এটি পূর্বের উত্তরগুলির কোনওটিতে যোগ করে না।
ব্যাংকসিসন

আমি দুঃখিত, আপনি ঠিক বলেছেন। আমার মনে হয় আমি খেয়াল করিনি যে টিলম্যান ভোগেলের উত্তরটি আমার মতই ছিল .. আমি কি এটি মুছতে পারি ??
ক্রিশ্চিয়ানাজার

3

নীচের লাইনগুলি সহ gitpush.sh নামে একটি ছোট স্ক্রিপ্ট লিখুন এবং এটি আপনার ডিরেক্টরিতে যুক্ত করুন।

echo $1
git add .
git commit -m "$1"
git push

এখন নীচের মত alias / .bashrc এ একটি নাম যুক্ত করুন:

alias gitpush='~/gitpush'

এখন যে কোনও গিট সংগ্রহস্থল থেকে কেবল গিটপশ "বার্তা" লিখুন।


2

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

@ECHO OFF
SET /p comment=Comment:
git add *
git commit -a -m "%comment%"
git push

আপনি যদি কমান্ড লাইন থেকে আর্গগুলিতে স্বীকার করেন তবে প্রোবগুলি আরও সহজ হবে। আমি কেবল "লেজিজিট ম্যাসেজ" ইত্যাদি যেতে পারি এটি দুর্দান্ত!
জন হোন

1

উপরের স্ক্রিপ্টগুলিতে কিছু সমস্যা রয়েছে:

শিফটটি প্যারামিটার $ 1 "মুছে ফেলে", অন্যথায়, "পুশ" এটি পড়বে এবং "এটিকে ভুল বুঝাব"।

আমার টিপ:

গিট কনফিগারেশন - গ্লোবাল ওরফে.এপ্পি! মি "$ 1" && শিফট && গিট পুল-ইউ উত্স $ ব্রাঞ্চাটু && গিট পুশ-ইউ উত্স $ ব্রাঞ্চাটু '



1

যদি আপনি ফিশ শেল ব্যবহার করেন (বিটিএসএর উত্তর বন্ধ করে দেওয়া):

এই ফাইলটিকে 'g / .config / માછલી / ফাংশনগুলির মধ্যে' quickgit.fish 'হিসাবে সংরক্ষণ করুন। ডিরেক্টরি উপস্থিত না থাকলে এটি তৈরি করুন। '--git-dir = $ PWD / .git' নিশ্চিত করে যে আমরা গিট প্রকল্পের যেখানে আমরা ফাংশনটি ডেকে আছি তার বিরুদ্ধে গিট কমান্ডগুলি পরিচালনা করি

function quickgit # This is the function name and command we call
    git --git-dir=$PWD/.git add . # Stage all unstaged files
    git --git-dir=$PWD/.git commit -a -m $argv # Commit files with the given argument as the commit message
    git --git-dir=$PWD/.git push # Push to remote
end

টার্মিনাল পুনরায় আরম্ভ করুন, প্রকল্পে নেভিগেট করুন, পরিবর্তন করুন এবং এখন আপনি 'quickgit "উদাহরণ বার্তা" "বলতে পারেন। পরিবর্তনগুলি এখন যুক্ত করা হবে, প্রতিশ্রুতিবদ্ধ হবে এবং চাপ দিন :)।

এখানে গিস্ট হিসাবেও পাওয়া যাবে: https://gist.github.com/Abushawish/3440a6087c212bd67ce1e93f8d283a69


1

ইতিমধ্যে প্রচুর ভাল সমাধান রয়েছে, তবে আমি এখানে কাজ করতে চাই এমন উপায়ের জন্য আমি আরও মার্জিত মনে করি এমন একটি সমাধান এখানে:

আমি আমার পথে "গিট-পুট" নামে একটি স্ক্রিপ্ট রেখেছি যাতে এতে রয়েছে:

#!/bin/bash
git commit "$@" && git push -u

এটি আমাকে চালানোর অনুমতি দেয়:

"আমার প্রতিশ্রুতি বার্তা" গিট

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

(আমি "-u" যুক্তও করেছি কারণ আমি যেভাবেই হোক এটি করতে চাই, যদিও এটি এই সমস্যার সাথে সম্পর্কিত নয় It এটি নিশ্চিত করে যে উজানের শাখাটি সর্বদা টানার জন্য স্থাপন করা হয়))

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


1

আপনি যদি ভিএসকোড ব্যবহার করেন, আপনি এই এক্সটেনশনটি ডাউনলোড করতে পারেন যা আপনাকে একটি সাধারণ কীবোর্ড শর্টকাটে এটি করতে দেয়।


1

আপনি যদি ম্যাক ব্যবহার করছেন:

  1. আপনার হোম ফোল্ডারে যেতে টার্মিনাল প্রকার "সিডি d /" শুরু করুন

  2. আপনার নতুন ফাইলটি তৈরি করতে "স্পর্শ .bash_profile" টাইপ করুন।

  3. আপনার প্রিয় সম্পাদকের সাহায্যে .bash_ প্রোফাইলে সম্পাদনা করুন (বা আপনি টেক্সটএডিট এ খোলার জন্য "ওপেন -e .Bash_profile" টাইপ করতে পারেন)।

  4. ফাইলটিতে নীচে অনুলিপি করুন এবং আটকান:

function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

এর পরে, আপনার টার্মিনালটি পুনরায় চালু করুন এবং কেবল একটি সহজ কমান্ড যুক্ত করুন, প্রতিশ্রুতিবদ্ধ এবং পুশ করুন, উদাহরণস্বরূপ:

lazygit "This is my commit message"

1

ম্যাক ভিএসসি ব্যবহারকারীদের জন্য সেরা সেটআপ হ'ল:

1) 'শিফট + সেন্টিমিটার + পি' টিপুন এবং টাইপ করুন:

Shell Command: install 'code' command in PATH

ENTER টিপুন (এটি সহজেই bash_profile এ পেতে কোড কমান্ড ইনস্টল করবে)

2) আপনি এখন চালাতে পারেন: code ~/.bash_profileখালি ব্যাশ_ প্রোফাইলটি খোলার জন্য

3) সেখানে একটি নতুন ফাংশন লিখুন:

function lazygit() {
    git add .
    git commit -m "$*"
    git push
}

4) এখন ভিএসসি পুনরায় চালু করুন

5) পরিবর্তন করুন, এটি সংরক্ষণ করুন এবং lazygit messageএকই সাথে তিনটি কমান্ড চালানোর জন্য টাইপ করুন


1

ম্যাকোস ব্যবহারকারীদের জন্য:

  1. আপনার টার্মিনাল বা আইটিার্ম 2 বা আপনি ব্যবহার করেন এমন অন্য টার্মিনালটি খুলুন ।

  2. কমান্ড সহ আপনার ব্যবহারকারী প্রোফাইল ফোল্ডারে যান ~/। এটি .bash_profileফাইলের জন্য একটি ডিফল্ট ফোল্ডার :

ব্যবহারকারীর ফোল্ডার উদাহরণ

  1. টাইপ করুন nano .bash_profileএই কমান্ডটি .bash_profileডকুমেন্টটি খুলবে (বা এটি ইতিমধ্যে উপস্থিত না থাকলে এটি তৈরি করবে) টার্মিনালের জন্য পাঠ্য সম্পাদক ব্যবহার করার সহজতম ক্ষেত্রে - nano

  2. এখন আপনি ফাইলটিতে একটি সাধারণ পরিবর্তন করতে পারেন। আপনার টার্মিনাল প্রম্পটটি পরিবর্তন করতে কোডের এই লাইনগুলি আটকে দিন:

function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

ন্যানো পাঠ্য সম্পাদনা

  1. এখন আপনার পরিবর্তনগুলি টাইপ করে সংরক্ষণ করুন ctrl + oএবং সংরক্ষণে ফিরে আসুন hit তারপরে nanoটাইপ করে প্রস্থান করুন ctrl + x

  2. এখন আমাদের আপনার পরিবর্তনগুলি সক্রিয় করতে হবে। source .bash_profile(বা . ~/.bash_profile) টাইপ করুন এবং আপনার প্রম্পট পরিবর্তন দেখুন।

  3. আইটির্ম 2 এ Preferences/Profiles/General/Commandসেট করতে Login Shellএবং Send text at startকরতে source ~/.bash_profile। সুতরাং প্রতিটি ম্যাকোস পুনঃসূচনা করার পরে আপনাকে এটি ম্যানুয়ালি তৈরি করার দরকার নেই। আইটার্ম 2 টি পছন্দ

শংসাপত্র: https://natelandau.com/my-mac-osx-bash_profile


0

কমান্ডের জন্য আমি .sh স্ক্রিপ্টটি করেছি

#!/bin/sh
cd LOCALDIRECTORYNAME/  
git config --global user.email "YOURMAILADDRESS"
git config --global user.name "YOURUSERNAME"
git init
git status
git add -A && git commit -m "MASSAGEFORCOMMITS"
git push origin master

0

যেহেতু প্রশ্নটি কোন শেলটি নির্দিষ্ট করে না, তাই এখানে পূর্ববর্তী উত্তরের ভিত্তিতে এসহেল সংস্করণ রয়েছে। এটি eshell ওরফে ফাইলের মধ্যে যায় যা সম্ভবত might / .emacs.d / eshell / ওরফে থাকতে পারে আমি প্রথম অংশ z https://github.com/rupa/z/ যোগ করেছি যা আপনাকে দ্রুত একটি ডিরেক্টরিতে সিডি করতে দেয় , যাতে আপনার বর্তমান ডিরেক্টরি কী তা চালানো যায় না।

alias census z cens; git add .; git commit -m "fast"; git push

0

যোগ ~/.bash_profileযোগ সংগঠনের এবং এক কমান্ড করা সঙ্গে ঠেলাঠেলি জন্য:

function g() { git commit -a -m "$*"; git push; }

ব্যবহার:

g your commit message
g your commit message 'message'

আপনার প্রতিশ্রুতি বার্তাগুলিতে আপনি সেমিকোলন বা প্রথম বন্ধনী ব্যবহার করতে না পারলেও কোনও উদ্ধৃতি আবশ্যক নয় (একক উদ্ধৃতি অনুমোদিত)। আপনি যদি এর মধ্যে কোনওটি চান তবে আপনার বার্তায় কেবল ডাবল উদ্ধৃতি লিখুন, যেমন:

g "your commit message; (message)"

আপনার বার্তায় একটি মন্তব্য তৈরি করতে করুন:

g "your commit message:
> your note"

একইভাবে যুক্ত এবং প্রতিশ্রুতিবদ্ধ করার জন্য একটি কার্যকারিতা রয়েছে:

function c() { git add --all; git commit -m "$*"; }

ঠিক একইভাবে gকাজ করে সেই ফাংশনটিতে এবং একই বাধা রয়েছে। শুধু cপরিবর্তে রাখা। যেমন

c your commit message

রিমোটে চাপ দেওয়ার জন্য আপনি একটি নামও যুক্ত করতে পারেন:

alias p='git push'

ব্যবহার:

p

এটির পরিমাণ 2 টি অক্ষর cএবং pআপনি আপনার গিট সংগ্রহস্থলের সাথে কাজ করার সময় ব্যবহার করেন। অথবা আপনি gকেবলমাত্র একটি অক্ষর দিয়ে এটি সব করার পরিবর্তে ব্যবহার করতে পারেন ।

এলিয়াস এবং ফাংশনগুলির সম্পূর্ণ তালিকা: https://gist.github.com/matt360/0c5765d6f0579a5aa74641bc47ae50ac


0

lazygitউত্তরটি বন্ধ করে দিলে, নিম্নলিখিত সমাধানটি চাপ দেওয়ার আগে পরিবর্তনগুলি যাচাই করতে একটি ব্যবহারকারী চেক যুক্ত করে। বাতিল হলে এটি কমান্ডগুলি ফিরিয়ে আনবে। এবং যদি স্থানীয় রেপোতে পরিবর্তন হয় কেবল তখনই তা ঘটবে।

### SAFER LAZY GIT
function lazygit() {
  git add .
  if git commit -a -m "$1"; then
    read -r -p "Are you sure you want to push these changes? [y/N]} " response
    case "$response" in
      [yY][eE][sS]|[yY])
        git push
        ;;
      *)
        git reset HEAD~1 --soft
        echo "Reverted changes."
        ;;
    esac
  fi
}

0

এটি কমান্ড গ্রুপিংয়ের জন্য উপযুক্ত।

গ্রুপিং কমান্ড

{তালিকা; Ly কোঁকড়া ধনুর্বন্ধনীগুলির মধ্যে কমান্ডের একটি তালিকা স্থাপনের ফলে তালিকাকে বর্তমান শেল প্রসঙ্গে কার্যকর করা হয়। কোনও সাবশেল তৈরি হয় না। সেমিকোলন (বা নিউলাইন) নিম্নলিখিত তালিকাটি প্রয়োজনীয়।

legit(){ git add --all; git commit -m "$1"; git push origin master; }
legit 'your commit message here'

1
প্রতিশ্রুতি বার্তার মধ্যে ফাঁক থাকলে এটি কাজ করবে না
রোহিত

0

আমি নিম্নলিখিত চালাতে চাই:

git commit -am "message";git push

আমি মনে করি আপনার কমান্ডের ;সাথে প্রতিস্থাপন করা উচিত &&, কারণ git pushপূর্ববর্তী কমান্ডগুলিতে কোনও ত্রুটি না থাকলে কেবল পরে কমান্ডটি কার্যকর করবে ।
টম

0

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

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