Gitエイリアスとプロファイル

3000 ワード

コメント:


廖雪峰先生のブログGitチュートリアルを参考にします.そのブログに基づいて学習と記録を行い、無私な共有に感謝し、原文を参照することを歓迎します.

別名の構成


もし、このような神器のGitバージョン制御システムであれば、コマンドを簡略化することができます.例えばgit status、直接git stで代用して、まるでひっくり返っています.
Gitコマンドに別名を配置することにより、ststatusを表し、以下のようになる.
$ git config --global alias.st status

このときgit stgit statusを表す
これにより、cocheckoutciを表し、commitbrbranchを表すなど、より多くのコマンドを簡略化することができる.
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

これにより、以下のように簡単に提出できます.
$ git ci -m "bala bala bala..."

パラメータ--globalはグローバルパラメータであり、構成された別名は現在のコンピュータの下で使用することができる.
  • unstage別名
  • さらに、例えば、一時保存領域の変更を取り消すコマンドgit reset HEAD fileunstageの操作である場合、unstageの別名を用いることができる.
    $ git config --global alias.unstage 'reset HEAD'
  • git last別名
  • たとえば、git lastを構成し、最後のコミット情報を表示します.
    $ git config --global alias.last 'log -1'

    これによりgit lastで最近のコミットが表示されます.
    気が狂ってlgを配置した人もいます
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit"
    git lgの効果は異なる色でロゴを表示することができ、とても眩しいです.

    プロファイル


    Gitの配置に加えて--globalは、現在のユーザーに対して機能し、追加しない場合は、現在の倉庫に対してのみ機能します.
  • gitプロファイルの場所
  • 各倉庫のGitプロファイルは.git/configファイルに配置されています.
    廖雪峰先生のブログに展示されているconfigの文書の内容は以下の通りです.
    $ cat .git/config
    [core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
    [remote "origin"]
        url = [email protected]:michaelliao/learngit.git
        fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
        remote = origin
        merge = refs/heads/master
    [alias]
        last = log -1
    [alias]は別名構成項目であり、別名を削除するには、対応する行を直接削除すればよい.
    現在のユーザのGitプロファイルは、ユーザホームの下にある.gitconfigファイルに格納される.
    linuxシステムユーザーディレクトリhomeディレクトリの下で表示
    WindowsユーザーディレクトリはC:C:\Users\ 、通過%USERPROFILE%または%HOMEPATH%直接アクセス可能
    $ cat .gitconfig
    [user]
            name = Your Name
            email = [email protected]
    [core]
            autocrlf = false
    [filter "lfs"]
            clean = git-lfs clean -- %f
            smudge = git-lfs smudge -- %f
            process = git-lfs filter-process
            required = true