গিমে আমি কীভাবে ওরফে কমান্ড করব?


619

আমি একটি স্ক্রিনকাস্ট দেখেছি যেখানে কেউ পেয়েছে

git st
git ci

কাজ করতে. আমি যখন এটি করি তখন আমার জিজ্ঞাসা করে একটি ত্রুটি পাই যে আমি অন্য কিছু বোঝাতে চাইছি।
গিট গৌরব হওয়া, আমার এটি জানতে হবে আপনার এটি করতে কী করতে হবে?


1
আপনি এটি এখানে দেখতেও
JayRizzo

এছাড়াও Git ওরফে এর আরো উন্নত ব্যবহারের উপর আরও প্রশ্ন এখানে দেখুন: stackoverflow.com/questions/46528736/...
NeilG

উত্তর:


977

মূলত আপনার কেবল লাইন যুক্ত করতে হবে ~/.gitconfig

[alias]
    st = status
    ci = commit -v

অথবা আপনি গিট কনফিগার নাম ব্যবহার করতে পারেন:

$ git config --global alias.st status 

ইউনিক্সে, যদি উলামের কোনও স্থান থাকে তবে একক উদ্ধৃতি ব্যবহার করুন:

$ git config --global alias.ci 'commit -v'

উইন্ডোগুলিতে, উপনামের কোনও স্থান বা কমান্ড লাইনের যুক্তি থাকলে ডাবল উদ্ধৃতি ব্যবহার করুন:

c:\dev> git config --global alias.ci "commit -v"

এমনকি কমান্ডটি প্যারামিটার হিসাবে ফাংশন গ্রহণ করে। এলিয়াস একবার দেখুন ।


86
আমি আপনার সুপারিশ করছি আপনার বর্তমান সংগ্রহস্থলের পরিবর্তে git config --globalএলিয়াস স্থাপন ~/.gitconfigকরার জন্য use .git/config
ক্যাসাবেল

27
আমি সেটিংস পছন্দ stকরতে status -s(ছোট স্থিতি)
hasen

20
এটি সত্যিই দুর্দান্ত। আমি এটি সন্ধান করা হয়েছে। কেবল মাথা 'git config --global alias.sr 'svn rebase'
ঠেকাতে

1
@ হেলিশহিট এই এলিয়াসগুলি গিটের জন্য, গিট দ্বারা তৈরি করা হয়েছে। আপনি যদি কিছু অন্যান্য কমান্ড লাইন সিস্টেমের জন্য উপকরণ চান তবে আপনাকে সেই সিস্টেমটিকে কীভাবে করতে হবে তা সন্ধান করতে হবে। (আপনি ইউনিক্সের মতো সিস্টেম ব্যবহার করছেন বলে মনে হচ্ছে এবং আমি জানতে পেরেছি যে ইউনিসিসে এলিয়াস তৈরি করা বেশ সহজ। তবে বাক্য গঠনটি ভিন্ন a গুগল অনুসন্ধানের চেষ্টা করুন))
মাইকেল ডারস্ট

17
আর একটি শীর্ষস্থানীয়, যদি আপনি উইন্ডোজ কমান্ড লাইনে গিট ব্যবহার করেন, তবে "স্পেসগুলির সাথে কমান্ড যুক্ত করার সময় আপনার একক উদ্ধৃতিগুলির পরিবর্তে ডাবল উদ্ধৃতি ব্যবহার করতে হবে , যেমনgit config --global alias.ci "commit -v"
এবিভিঙ্কিতা

179

যেমন অন্যরা বলেছেন যে গিট এলিয়াস যুক্ত করার উপযুক্ত উপায়টি হ'ল .gitconfigসম্পাদনা ~/.gitconfigবা git config --global alias.<alias> <git-command>কমান্ডটি ব্যবহার করে আপনার গ্লোবাল ফাইলে

নীচে আমার ~/.gitconfigফাইলের উপন্যাস বিভাগের একটি অনুলিপি দেওয়া আছে :

[alias]
    st = status
    ci = commit
    co = checkout
    br = branch
    unstage = reset HEAD --
    last = log -1 HEAD

এছাড়াও, আপনি যদি ব্যাশ ব্যবহার করছেন তবে আমি git-completion.bashআপনার বাড়ির ডিরেক্টরিতে অনুলিপি করে এটি আপনার কাছ থেকে স্যুর করে বাশ সম্পূর্ণকরণ সেট আপ করার পরামর্শ দেব ~/.bashrc। (আমি বিশ্বাস করি প্রো গিট অনলাইন বইয়ের কাছ থেকে আমি এটি সম্পর্কে শিখেছি )) ম্যাক ওএস এক্সে, আমি নিম্নলিখিত কমান্ডগুলি দিয়ে এটি সম্পাদন করেছি:

# Copy git-completion.bash to home directory
cp usr/local/git/contrib/completion/git-completion.bash ~/

# Add the following lines to ~/.bashrc
if [ -x /usr/local/git/bin/git ]; then
    source ~/.git-completion.bash
fi

দ্রষ্টব্য: ব্যাশ সমাপ্তি কেবলমাত্র স্ট্যান্ডার্ড গিট কমান্ডের জন্যই নয় আপনার গিট এলিয়াসগুলির জন্যও কাজ করবে।

অবশেষে, কীস্ট্রোকগুলিকে সত্যিই কাটাতে, আমি আমার ~/.bash_aliasesফাইলটিতে নিম্নলিখিতগুলি যুক্ত করেছি , যা থেকে উত্সাহিত ~/.bashrc:

alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | mate'
alias gau='git add --update'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
alias gco='git checkout'
alias gcob='git checkout -b'
alias gcot='git checkout -t'
alias gcotb='git checkout --track -b'
alias glog='git log'
alias glogp='git log --pretty=format:"%h %s" --graph'

2
লিনাক্সের জন্য, আমি গিট- সমাপ্তি.ব্যাশ স্টাফগুলি
ডানকান লক

10
আপনি যদি zsh ব্যবহার করেন, তবে ওহ-মাই- zsh স্যুটটিতে সেই সমস্ত "স্ট্যান্ডার্ড" গিট এলিয়াস - github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/… - এর জন্য একটি প্লাগইন রয়েছে , github.com/revans/bash-it
जॉবওয়াত

নুব প্রশ্ন: ~/.bashrcফাইলটি "সোর্স করা" এর অর্থ কী ?
আহ্নবিজক্যাড

1
~/.bashrc: কী-স্ট্রোককে সত্যিই কাটাতে। ঠিক কী খুঁজছিল।
পরজীবী

এই উত্তরটি কেন আমি আমার উত্তরে অন্তর্ভুক্ত .gitconfig ব্যবহার করার পরামর্শ দিচ্ছি তার একটি নিখুঁত উদাহরণ! stackoverflow.com/a/59896430/117471
ব্রুনো Bronosky

65

আমি মনে করি সবচেয়ে দরকারী গিটকনফিগ এটির মতো, আমরা সবসময় 20% ফাংশন গিটে ব্যবহার করি, আপনি "জি এলএল" চেষ্টা করতে পারেন, এটি আশ্চর্যজনক, বিশদ:

[user]
    name = my name
    email = me@example.com
[core]  
    editor = vi 
[alias]
    aa = add --all
    bv = branch -vv
    ba = branch -ra
    bd = branch -d
    ca = commit --amend
    cb = checkout -b
    cm = commit -a --amend -C HEAD
    ci = commit -a -v
    co = checkout
    di = diff
    ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
    ld = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
    ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
    mm = merge --no-ff
    st = status --short --branch
    tg = tag -a 
    pu = push --tags
    un = reset --hard HEAD  
    uh = reset --hard HEAD^
   [color]  
    diff = auto  
    status = auto  
    branch = auto 
   [branch]  
    autosetuprebase = always

আপনি কিভাবে এটি সেট আপ করবেন? আপনি এটি কি করতে এখানে রাখবেন?
আহ্নবিজক্যাড

3
@ahnbizcad প্লেসটি ~ / .gitconfig এ রাখুন যদি আপনি কনফিগার - গ্লোবাল গিট করেন অন্যথায় এটি বর্তমান সংগ্রহস্থলের .git / কনফিগারেশনে চলে যায়
shmup

19

আপনার git config aliasকমান্ড দরকার । গিট সংগ্রহস্থলে নিম্নলিখিতটি প্রয়োগ করুন:

git config alias.ci commit

গ্লোবাল ওরফে জন্য:

git config --global alias.ci commit

11

এটি আমার পক্ষে কাজ করেছে:

bco = "!f(){ git branch ${1} && git checkout ${1}; };f"

চালু:

$ git --version

git version 1.7.7.5 (Apple Git-26)

1
আপনি এটিও করতে পারেন: গিট কনফিগারেশন - গ্লোবাল ওরফে.বকো 'চেকআউট-বি'। তারপরে আপনি এটি করতে পারেন: গিট বিসিও নতুন শাখা। :)
রাসেল

4
আমি চাই git cob। গরমে ভুট্টার মতো গ্রীষ্মের কথা মনে করিয়ে দেয়। আসলে একটি মহান শব্দ আমরা পর্যাপ্ত সম্পর্কে চিন্তা না ... চাঙ্গ যে
Мати Тернер

4
যদি এই প্রথম আমার ব্যতীত অন্য কেউ গিট উরফ কমান্ড দিয়ে শুরু করতে দেখেছে তবে !লক্ষ্য করুন Since version 1.5.0, Git supports aliases executing non-git commands, by prefixing the value with "!"( রেফ )
স্যাম

9

এটি একটি ওরফে তৈরি করবে stজন্য status:

git config --add alias.st status


আমি --add এবং ব্যবহার করা ডবল কোট, একক না কোট প্রয়োজন
নিরপেক্ষ

git stআপনি যখন এটি ব্যবহার করতে পারেন কেন git sতা থেকে পরিত্রাণ পান s: পি
আবদুল্লাহ

7

ফোলউইং হ'ল 4 গিট শর্টকাট বা আপনার সময় সাশ্রয় করার জন্য ব্যবহারের মতো উপকরণ।

কমান্ডলাইনটি খুলুন এবং এগুলি নীচে 4 টি কমান্ড টাইপ করুন এবং পরে শর্টকাটগুলি ব্যবহার করুন।

git config --global alias.co checkout  
git config --global alias.ci commit    
git config --global alias.st status    
git config --global alias.br branch  

এখন তাদের পরীক্ষা!

$ git co              # use git co instead of git checkout
$ git ci              # use git ci instead of git commit
$ git st              # use git st instead of git status
$ git br              # use git br instead of git branch

6

গিট ওরফে শেল কমান্ড কার্যকর করতে চাইছেন , উদাহরণস্বরূপ:

$ git pof

আমার টার্মিনাল ইন হবে জোর ধাক্কা আমার মূল রেপো বর্তমান শাখা:

[alias]
    pof = !git push origin -f $(git branch | grep \\* | cut -d ' ' -f2)

যেখানে

$(git branch | grep \\* | cut -d ' ' -f2)

কমান্ড বর্তমান শাখা ফেরত দেয়।

সুতরাং ব্রাঞ্চের নামটি ম্যানুয়ালি টাইপ করার জন্য এটি একটি শর্টকাট:

git push origin -f <current-branch>

1
git push -f origin HEADবর্তমান শাখাটিকে তার প্রত্যন্ত অংশের দিকে ধাক্কা দেওয়ার জন্য কেন "সরল" নয় ? এছাড়াও, একটি শর্টকাট জোর দিয়ে ধাক্কা? যদি আপনাকে শর্টকাট থেকে উপকারের জন্য পর্যাপ্ত পরিমাণে চাপ দিতে হয় তবে আপনার সেটআপ বা ওয়ার্কফ্লোতে অন্য কোথাও কিছু ভুল নয়?
রোমেনভ্যালেরি

বাশ ওরফে ( !gitশেষ গিট কমান্ডের পরিবর্তে ) তৈরি করতে ব্যর্থ হয়েছিল , তবে কনফিগার ফাইলটি ম্যানুয়ালি সম্পাদনা করে কৌশলটি সফল করেছিল।
এইচ। ডি জঞ্জো

5

আপনি উভয় গিট এবং নন-গিট কমান্ডের নাম দিতে পারেন। দেখে মনে হচ্ছে এটি 1.5 সংস্করণে যুক্ত হয়েছিল। git config --helpআমার ম্যাকের 2.5.4 সংস্করণে পৃষ্ঠা থেকে একটি স্নিপেট শো করে:

যদি উলামের সম্প্রসারণটি বিস্মৃতকরনের সাথে উপসর্গ করা হয় তবে এটি শেল কমান্ড হিসাবে বিবেচিত হবে।

উদাহরণস্বরূপ, আপনার গ্লোবাল .gitconfigফাইলে আপনার থাকতে পারে:

[alias]
    st = status
    hi = !echo 'hello'

এবং তারপরে এগুলি চালান:

$ git hi
hello
$ git st
On branch master

...

5

আপনার হোম ডিরেক্টরিতে আপনার ~ / .gitconfig এ নিম্নলিখিত লাইনগুলি যুক্ত করুন

[alias]
# one-line log
l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
ld = log --pretty=format:"%C(yellow)%h\\ %C(green)%ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short --graph
ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative

a = add
ap = add -p
c = commit --verbose
ca = commit -a --verbose
cm = commit -m
cam = commit -a -m
m = commit --amend --verbose

d = diff
ds = diff --stat
dc = diff --cached

s = status -s
co = checkout
cob = checkout -b
# list branches sorted by last modified
b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'"

# list aliases
la = "!git config -l | grep alias | cut -c 7-"

এটি হয়ে গেলে আপনি তা করতে পারেন git agit add উদাহরণস্বরূপ পরিবর্তে এটি । এটি একইরূপে অন্য শিরোনামে প্রয়োগ হয় শিরোনামের অধীনে ..


4
it গিট আপডেট
গিট: 'আপডেট' গিট কমান্ড নয়। 'গিট - হেল্প' দেখুন।

আপনি এই বোঝাতে চেয়েছিলেন?
    আপডেটের-সুত্র

it গিট কনফিগারেশন - গ্লোবাল ওরফে.আপডেট 'পুল-ভি'

it গিট আপডেট
গিট থেকে: //git.kernel.org/pub/scm/git/git
 = [আপ টু ডেট] এইচটিএমএল -> উত্স / এইচটিএমএল
 = [আপ টু ডেট] রক্ষণাবেক্ষণ -> উত্স / রক্ষণাবেক্ষণ
 = [আপ টু ডেট] মানুষ -> উত্স / মানুষ
 = [আপ টু ডেট] মাস্টার -> উত্স / মাস্টার
 = [আপ টু ডেট] পরবর্তী -> উত্স / পরবর্তী
 = [আপ টু ডেট] পু -> উত্স / পু
 = [আপ টু ডেট] টুডো -> উত্স / টুডো
ইতিমধ্যে আপ টু ডেট।

4

আমি dogলগ গ্রাফটি দেখানোর জন্য উপনামটি তৈরি করেছি :

git config --global alias.dog "log --all --decorate --oneline --graph"

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

git dog

3

আপনি যদি '' ব্যবহার করেন তবে আপনি কমান্ডগুলিও চেইন করতে পারেন! অপারেটর শেল স্প্যান করতে:

aa = !git add -A && git status

এটি উভয়ই সমস্ত ফাইল যুক্ত করবে এবং এর সাথে একটি স্থিতির প্রতিবেদন দেবে $ git aa

আপনার এলিয়াসগুলি পরীক্ষা করার সহজ উপায়ের জন্য, এই উপনামটি যুক্ত করুন:

alias = config --get-regexp ^alias\\.

তারপরে একটি তাড়াতাড়ি $ git aliasআপনাকে আপনার বর্তমান উপাধি দেয় এবং তারা কী করে।


3

আপনি গিটের কনফিগারেশন ব্যবহার করে কাস্টম গিট এলিয়াস সেট করতে পারেন। এখানে বাক্য গঠন:

git config --global alias.<aliasName> "<git command>"

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

git config --global alias.conflicts "diff --name-only --diff-filter=U"

এখন আপনি উপরের কমান্ডটি কেবল "দ্বন্দ্ব" ব্যবহার করে ব্যবহার করতে পারেন:

git conflicts
# same as running: git diff --name-only --diff-filter=U

3

আমার জন্য ( আমি টার্মিনাল সহ ম্যাক ব্যবহার করছি ) কেবল তখনই কাজ করতাম যখন আমি .bash_profile এ যুক্ত করেছিলাম এবং পরিবর্তনটি লোড করার জন্য অন্য ট্যাবটি খুলি :

alias gst="git status"
alias gd="git diff"
alias gl="git log"
alias gco="git commit"
alias gck="git checkout"
alias gl="git pull"
alias gpom="git pull origin master"
alias gp="git push"
alias gb="git branch"

2

অন্যান্য উত্তরগুলিতে উল্লিখিত স্ট্যান্ডার্ড গিট কনফিগার পদ্ধতির চেয়ে ছোট ছোট উপকরণগুলি পেতে , আমি একটি এনপিএম প্যাকেজ মিঙ্গিট তৈরি করেছি ( npm install -g mingit) যাতে সর্বাধিক কমান্ডগুলি 2 টি শব্দের পরিবর্তে 2 অক্ষর হয়ে যায়। এখানে উদাহরণগুলি:

g a .                   // git add .
g b other-branch        // git branch other-branch
g c "made some changes" // git commit -m "made some changes"
g co master             // git checkout master
g d                     // git diff
g f                     // git fetch
g i                     // git init 
g m hotfix              // git merge hotfix
g pll                   // git pull
g psh                   // git push
g s                     // git status

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


1
গিথুব প্রকল্প তৈরি করার জন্য আপনাকে ধন্যবাদ।
বিনিয়াম

2

আপনি যদি ~/.gitconfigবিকল্পটির বিকল্প চান এবং কিছুটা খননের জন্য খুলতে পারেন তবে অন্য একটি বিকল্প হ'ল গ্লোবাল নোড প্যাকেজে মোড়ক রেখে সম্পূর্ণ কাস্টম গিট কমান্ড লিখতে হবে।

আপনার প্যাকেজ.জসনে, আপনি রুট কমান্ডটি (উদাহরণ gt:) সংজ্ঞায়িত করে সঠিক গিট কমান্ডগুলি কার্যকর করতে নির্দিষ্ট কমান্ডগুলি ফিল্টার করবেন। উদাহরণস্বরূপ, git checkout my-branchহতে পারে gt co mybranch

এনপিএমের "খ্রিস্টিয়ান-গিট" প্যাকেজটি এই পদ্ধতিটি ব্যবহার করে: https://github.com/alexmacarthur/christian-git


1

এটি এখানে এলিয়াস দেওয়া হয়েছে .যদি এখানে দুর্দান্ত উত্তর রয়েছে, আমি এটি যুক্ত করেছি কারণ এটি উইন্ডোজ এবং লিনাক্সের মধ্যে পৃথক



1

আপনার একাধিক উপন্যাস ফাইল অন্তর্ভুক্ত করুন .gitconfig

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

[include]
    path=src/dotfiles/.gitaliases

[include]
    path=src/team-utils/gitaliases

[include]
    path=.gitaliases.private

-1

উইন্ডোজের জন্য আরেকটি সম্ভাবনা হ'ল .bat ফাইলগুলিতে আপনার শর্টকাট রয়েছে এমন একটি ডিরেক্টরি পূরণ করা। ফাইলটির নাম হ'ল শর্টকাট be কেবল আপনার PATH এনভায়রনমেন্ট ভেরিয়েবলের জন্য ডিরেক্টরিটি যুক্ত করুন এবং সেমিডি উইন্ডোতে আপনার নিষ্পত্তি করার জন্য সমস্ত শর্টকাট রয়েছে।

উদাহরণস্বরূপ (gc.bat):

git commit -m %1

তারপরে আপনি কনসোলে নিম্নলিখিত কমান্ডটি কার্যকর করতে পারেন:

gc "changed stuff"

আমি এটিকে উত্তর হিসাবে যুক্ত করার কারণ হ'ল এটি ব্যবহার করার সময় আপনি git ...কেবল কমান্ডের মধ্যেই সীমাবদ্ধ নন ।


1
আপনার সিস্টেমের উপর নির্ভর করে আপনার। প্রোফাইলে, বা .bashrc, বা .Bash_profile এ শেল এলিয়াস যুক্ত করে আপনি এটি করতে পারেন। তারপরে আপনার সমস্ত এলিয়াস একক ফাইলে রয়েছে। এছাড়াও, এটি আপনার কার্য সম্পাদনের জন্য আদর্শ প্রক্রিয়া। "কমান্ড অ্যালিয়াসস" বিভাগে গিট কমান্ডের জন্য ব্যবহৃত কিছু সাধারণ সংজ্ঞায়িত শেল এলিয়াস দেখা যায় । এটিতে আরও ভাল সংস্থান এবং টিউটোরিয়াল রয়েছে, এটি কেবল আমার লিঙ্কটি খোলা ছিল।
শেরিলহোমান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.