私は誰かが得たスクリーンキャストを見ました
git st
git ci
仕事に。それを行うと、他に何か意味があるかどうかを尋ねるエラーが表示されます。
git newbなので、これを実行するためにあなたがしなければならないことを知っている必要がありますか?
私は誰かが得たスクリーンキャストを見ました
git st
git ci
仕事に。それを行うと、他に何か意味があるかどうかを尋ねるエラーが表示されます。
git newbなので、これを実行するためにあなたがしなければならないことを知っている必要がありますか?
回答:
基本的には、行を追加するだけです ~/.gitconfig
[alias]
st = status
ci = commit -v
または、git config aliasコマンドを使用できます。
$ git config --global alias.st status
UNIXでは、エイリアスにスペースがある場合は一重引用符を使用します。
$ git config --global alias.ci 'commit -v'
Windowsでは、エイリアスにスペースまたはコマンドライン引数がある場合は、二重引用符を使用します。
c:\dev> git config --global alias.ci "commit -v"
aliasコマンドは、関数をパラメーターとして受け入れます。エイリアスを見てください。
git config --global
してエイリアスを配置することを強くお勧めします。~/.gitconfig
.git/config
st
にstatus -s
(ショート状態)
'
ようにgit config --global alias.sr 'svn rebase'
"
している場合、スペースを含むコマンドを追加するときは、一重引用符ではなく二重引用符を使用する必要があります。例:git config --global alias.ci "commit -v"
他の人がgitエイリアスを追加する適切な方法は.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
また、bashを使用している場合はgit-completion.bash
、ホームディレクトリにコピーしてからソーシングしてbashの補完を設定することをお勧めします~/.bashrc
。(これについてはPro Gitオンラインブックから学んだと思います。)Mac OS Xでは、次のコマンドを使用してこれを実現しました。
# 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補完は、標準のgitコマンドだけでなく、gitエイリアスでも機能します。
最後に、実際にキーストロークを削減するために、以下の~/.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'
~/.bashrc
ファイルの「ソース」とはどういう意味ですか?
~/.bashrc
:キーストロークを本当に減らすため。まさに探していたもの。
最も便利なgitconfigは次のようになると思います。私たちは常にgitで20%の関数を使用しています。「g ll」を試すことができます。驚くべきことです。詳細:
[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
これは私のために働きました:
bco = "!f(){ git branch ${1} && git checkout ${1}; };f"
オン:
$ git --version
git version 1.7.7.5 (Apple Git-26)
git cob
です。穂軸のトウモロコシのように、夏を思い出させます。我々は十分に...穂軸について考えていない、実際に素晴らしい言葉
以下は、時間を節約するために使用できる4つのgitショートカットまたはエイリアスです。
コマンドラインを開き、以下の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
gitエイリアスでシェルコマンドを実行したい人のために、例えば:
$ 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>
git push -f origin HEAD
現在のブランチをリモートの相手に「単純に」プッシュしないのはなぜですか?また、力で押すショートカットは?ショートカットを活用するために十分な頻度で力を押す必要がある場合、セットアップまたはワークフローの他の場所で何か問題がありませんか?
!git
最後のgitコマンドで置き換える)をメッシュ化しましたが、構成ファイルを手動で編集するとうまくいきました。
次の行をホームディレクトリの〜/ .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 a
代わりに行うことができますgit add
。同じことがエイリアスの見出しの下の他のコマンドにも当てはまります。
$ git update git: 'update'はgitコマンドではありません。「git --help」を参照してください。 もしかして? update-ref $ git config --global alias.update 'pull -v' $ git update git://git.kernel.org/pub/scm/git/gitから = [最新] html-> origin / html = [最新] maint-> origin / maint = [最新]男->起源/男 = [最新]マスター->起点/マスター = [最新]次-> origin / next = [最新] pu-> origin / pu = [最新] todo-> origin / todo すでに最新です。
dog
ロググラフを表示するためのエイリアスを作成しました。
git config --global alias.dog "log --all --decorate --oneline --graph"
次のように使用します。
git dog
gitの設定を使用してカスタムgitエイリアスを設定できます。構文は次のとおりです。
git config --global alias.<aliasName> "<git command>"
たとえば、マージの競合があるファイルのリストを表示するためにエイリアスが必要な場合は、次のコマンドを実行します。
git config --global alias.conflicts "diff --name-only --diff-filter=U"
これで、「conflicts」のみを使用して上記のコマンドを使用できます。
git conflicts
# same as running: git diff --name-only --diff-filter=U
他の回答で述べられている標準のgit configの方法よりもさらに短いエイリアスを取得するために、ほとんどのコマンドが2ワードではなく2文字になるように、npmパッケージmingit(npm install -g mingit
)を作成しました。次に例を示します。
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
他のコマンドも同様に短くなります。これにより、bashの補完も保持されます。パッケージは、ドットファイルにbash関数を追加し、osx、linux、およびWindowsで動作します。また、他のエイリアスとは異なり、エイリアスgit
-> g
と2番目のパラメーター。
~/.gitconfig
オプションの代替手段が必要で、もう少し掘り下げることを希望している場合、別のオプションは、グローバルノードパッケージでそれらをラップすることにより、完全にカスタムのgitコマンドを記述することです。
package.jsonで、ルートコマンド(例:)を定義しgt
、特定のコマンドをフィルタリングして正しいgitコマンドを実行します。たとえば、にgit checkout my-branch
なりますgt co mybranch
。
npmの「christian-git」パッケージはこのメソッドを使用します:https : //github.com/alexmacarthur/christian-git
ここにエイリアスが表示されます。ここには素晴らしい答えがありますが、WindowsとLinuxでは異なるため、これを追加しました
.gitconfig
エイリアスに.gitconfig
はインクルードを使用することをお勧めします。エイリアスの作成を開始すると、おそらく多くのエイリアスが作成されます。彼らはおそらくあなたが他の人と共有したいものになるでしょう。それらを専用ファイルに入れると、簡単に共有できます。チームはgitリポジトリを使用して共有エイリアスを保持することもできます。もちろん、共有したくない一部のエイリアスはプライベートエイリアスファイルに保存してください。
[include]
path=src/dotfiles/.gitaliases
[include]
path=src/team-utils/gitaliases
[include]
path=.gitaliases.private
Windowsのもう1つの可能性は、ショートカットを含む.batファイルで満たされたディレクトリを持つことです。ファイルの名前は、使用するショートカットです。ディレクトリをPATH環境変数に追加するだけで、コマンドウィンドウですべてのショートカットにアクセスできます。
例(gc.bat):
git commit -m %1
次に、コンソールで次のコマンドを実行できます。
gc "changed stuff"
これを回答として追加する理由は、これを使用する場合、git ...
コマンドだけに限定されないためです。