programing

Git 별칭 나열

lastmoon 2023. 4. 22. 09:59
반응형

Git 별칭 나열

에일리어스 즉 git 에일리어스 를 들어 bash git 에일리어스 목록, bash 에일리어스 해야 ?alias★★★★★★★★★★★★★★★★★?

정규 표현과 함께 사용할 수 있습니다.^alias(즉, 로 「」( 「」, 「」)alias

git config --get-regexp ^alias

이 대답은 조니의 대답에 기초하고 있다.에서 를 사용하지 않는 경우에 적용됩니다.

Linux의 경우 한 번 실행합니다.

git config --global alias.alias "! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /"

인 git 「Git」가 됩니다.alias하다.~/.gitconfig에일리어스가 as as as as as as as as as as as as as as as 와 거의 같은 형식으로 됩니다. 모든 git 에일리어스를 거의 같은 형식으로 나열합니다.~/.gitconfig파일을 사용하려면 다음과 같이 입력합니다.

$ git alias
loga = log --graph --decorate --name-status --all
alias = ! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /

다음 고려사항이 적용됩니다.

  • '''를 alias같이 에 있는 , 「」를 합니다.| grep -v ^'alias '이 명령어는 사용자가 잊지 하지 않습니다.alias기트

  • 되어 있는 하려면 , 「」를 합니다.| sort 에일리어스를 에일리어스라고 할 .~/.gitconfig정렬되어 있습니다.

  • 를 시스템 에일리어스로 하려면 , 「」를 합니다.--global사용자의 ) (""")가 있는 경우--system(모든 사용자에 대해).은 보통 「」에./etc/gitconfigfilename을 클릭합니다.

하게도) git라는.alias★★★★★★★★★★★...에일리어스를 충분히 사용하면 때때로 편리합니다.

$ git config --global alias.alias "config --get-regexp ^alias\."

이 regex로 alias..

또 다른 대안(순수히 기억하기 쉬운 것):

git config --list | grep alias

다음은 Linux, MacOSX 및 Windows(msysgit 사용)에서 작동합니다.

.gitconfig 에일리어스를 표시하려면 git la를 사용합니다.

'Bash Scripting'이 들렸나요?;)

위의 코멘트 중 '필요없음' 부분에 대해서는 기본적으로 제 에일리어스에 대한 개요와 같은 man 페이지를 작성했습니다.왜 이렇게 난리예요?그건 완전히 과잉 살상 아닌가요?

읽어주세요...

.gitconfig에는 다음과 같은 명령어가 설정되어 있습니다.

[alias]
        alias1            =            foo -x -y --z-option
        alias2            =            bar -y --z-option --set-something

그리고 정의된 별칭의 일부를 grep하기 위해 다른 별칭을 정의했을 뿐입니다. (다른 모든 옵션은 정의에서 '=' 앞과 뒤에 탭이 없고 공백만 있습니다.)

에일리어스에 부가되지 않은 코멘트도 부가되므로 그리핑 후에 표시됩니다.

보기 좋게 하기 위해 다음과 같이 GREP 출력을 작게 배관합니다.

기본 버전: (흑백)

  #.gitconfig
  [alias]
        # use 'git h <command>' for help, use 'git la' to list aliases  =====
        h     =     help #... <git-command-in-question>
        la    =     "!grep '\t=' ~/.gitconfig | less" 

\t=부품이 일치합니다.

가지고 있는 에일리어스의 개요를 알기 위해 bash 콘솔을 사용하기 때문에 출력에 터미널 색상을 지정했습니다.

  • 모든 '='는 빨간색으로 인쇄됩니다.
  • 모든 '#'은 녹색으로 인쇄됩니다.

고급 버전: (컬러)

       la      =       "!grep '\t=' ~/.gitconfig | sed -e 's/=/^[[0;31m=^[[0m/g' | sed -e 's/#.*/^[[0;32m&^[[0m/g' | less -R"

기본적으로 위와 같이 sed 사용법만 추가하여 컬러 코드를 출력합니다.

-Rless의 플래그는 less로 표시된 색상을 얻기 위해 필요합니다.

(최근에 알게 된 바로는 창 아래에 스크롤바가 있는 긴 명령어가 모바일 기기에서 올바르게 표시되지 않는다는 것입니다.텍스트가 잘리고 스크롤바가 없어집니다.여기 마지막 코드 스니펫이 해당될 수 있습니다.이동 중에 코드 스니펫을 확인할 때는 주의해 주십시오.)


왜그그 법법 ?? ???

제 필요에 맞게 가명을 0.5마일 정도 가지고 있어요
또한 이들 중 일부는 시간이 지남에 따라 변하기 때문에 최신 목록을 사용하는 것이 가장 좋습니다.gitconfig를 해석하는 것입니다.

.gitconfig 에일리어스에서 발췌한 ****short****:

    #  choose       =====
    a       =       add #...
    aa      =       add .
    ai      =       add -i
    #  unchoose     =====
    rm      =       rm -r #... unversion and delete
    rmc     =       rm -r --cached #... unversion, but leave in working copy
    #  do   =====
    c       =       commit -m #...
    fc      =       commit -am "fastcommit"
    ca      =       commit -am #...
    mc      =       commit # think 'message-commit'
    mca     =       commit -a
    cam     =       commit --amend -C HEAD # update last commit
    #  undo =====
    r       =       reset --hard HEAD
    rv      =       revert HEAD

Linux 또는 Mac 워크스테이션에서는 .bashrc에도 다음과 같은 에일리어스가 존재합니다.

#.bashrc
alias g="git"
alias gh="git h"
alias gla="git la"
function gc { git c "$*" } # this is handy, just type 'gc this is my commitmessage' at prompt

입력하지 .git help submodule.git h submodule,그냥.gh submodule움움받받받받받해것것것것것것것것것것것 。냥냥 몇자 자자 마?? ???

물론 숏컷에서만 다음 항목을 사용합니다.

  • 더하다
  • 저지르다
  • commit --commit --syslogs
  • reset --hard HEAD
  • 밀다
  • 가지고 오다
  • 기본을 바꾸다
  • 체크 아웃
  • 분점
  • show-display (다양한 변형)
  • 쇼트 로그
  • 재로그
  • diff (바리에이션)
  • log (다양한 변형으로)
  • 상황
  • 표시하다
  • 메모들
  • ...

이건 그냥 내 머리에서 나온 말이야.

대부분의 git 명령어가 그래픽 프런트엔드에서 제대로 구현되지 않았기 때문에 git을 gui 없이 사용해야 하는 경우가 많습니다.하지만 제가 그것들을 사용할 때마다, 그것은 거의 같은 방식으로 사용됩니다.

마지막 단락에서 언급한 '실장되지 않음' 부분에서:
GUI에서는 수 .GUI 、 GUI 、 GUI 、 GUI 、 GUI 。
sba = show-branch --color=always -a --more=10 --no-name 및및 커밋을 합니다.
ccm = "!git reset --soft HEAD~ && git commit" commit - " - - -"

다다심플 、 플 、 점 、 점 、 。
입력합니까?git add . ★★★★★★★★★★★★★★★★★」git commit -am "..."★★★★★★★★★★★★▼
을 시키다, 일을 시키다.git aa ★★★★★★★★★★★★★★★★★」git ca "...", 창문,
에일리어스 「bash bash」를 합니다.gaa/g aa ★★★★★★★★★★★★★★★★★」gca "..."/g ca "..."Linux (Mac)...

제 욕구를 충족시키기 위해 이렇게 git 명령어를 맞춤화하는 것은 현명한 일인 것 같았습니다.
하기 위해 명령어를 가 없습니다.그리고 사용하기 쉽게 하기 위해 저는 덜 사용되는 명령어를 스스로 사용했기 때문에 매번 man page를 참조할 필요가 없습니다.명령어는 미리 정의되어 있으며 가능한 한 쉽게 검색할 수 있습니다.

내 말은, 우리가 결국 프로그래머라는 거야?필요한 만큼 일을 시키는 게 우리 일이야

다음은 추가 스크린샷입니다. 이는 Windows에서 작동합니다.

스크립트는 cmd로 동작합니다.

보너스: Linux 또는 Mac을 사용하는 경우 색칠된 man 페이지가 많은 도움이 됩니다.

색칠된 맨 페이지

다른 답변들도 언급했듯이git config -l, 설정의 .다음으로 설정에 대한 출력의 일부를 나타냅니다.

...
alias.force=push -f
alias.wd=diff --color-words
alias.shove=push -f
alias.gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
core.repositoryformatversion=0
core.filemode=false
core.bare=false
...

행은 GREP를 로 출력할 수 .git config -l | grep alias:

alias.force=push -f
alias.wd=diff --color-words
alias.shove=push -f
alias.gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E

는 이것을 더 수 .cut을 색칠하다alias.다음 명령어를 남겨두고 각 행의 일부를 표시합니다.

git config -l | grep alias | cut -c 7-

인쇄 대상:

force=push -f
wd=diff --color-words
shove=push -f
gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
branches=!git remote show origin | grep \w*\s*(new^|tracked) -E

마지막으로, 이것을 에일리어스로 추가하는 것을 잊지 말아 주세요.

git config --global alias.la "!git config -l | grep alias | cut -c 7-"

맛있게 드세요!

다음 문자로 시작하는 항목만 사용하고 필터링합니다.alias:

git var -l | grep -e "^alias"

2018년 6월에 Git 2.18을 "개요 목록 - 가장 많이 사용하는 Git 명령어"로 언급했습니다.--list-cmds=alias(commit 3301d36)), carej답변에 보고한다.

 git --list-cmds=alias

에 또는 의git config --get-regexp alias출력은 Git 2.14.x/2.15로 변경되는 와 조합할 수 있습니다.

git help co라고 말합니다.co is aliased to ... 아니라 ""입니다.git co is

Kaartic Sivaram()sivaraam의 commit b3a8076(2017년 9월 12일)을 참조하십시오.
(2017년 9월 25일, Junio C Hamano에 의해 합병 ----커밋 5079cc8에서)

help 합니다.

가 ""를하려고 할 때--help에일리어스에 관한 에일리어스 명령어 정보의 옵션은 다음과 같이 출력됩니다.

$ git co --help
`git co' is aliased to `checkout'

하고 있기 않은 것 .co 아니라''입니다.git co
가 '이렇게 하면 안 된다'와 별칭을 에는 이 할 수 .tgit

$ tgit co --help
`git co' is aliased to `checkout'

둘 다 잘 작동

1 - Get Regex 사용

$ git config --get-regexp alias

2 - 목록 사용

$ git config --list | grep alias

별칭은 글로벌에서 사용합니다.~/.gitconfig

# ~/.gitconfig

[alias]
    aliases = !git config --get-regexp ^alias\\. | sed -e s/^alias.// -e s/\\ /\\ $(printf \"\\043\")--\\>\\ / | column -t -s $(printf \"\\043\") | sort -k 1

다음과 같은 결과를 낳다

$ git aliases
aliases   --> !git config --get-regexp ^alias\. | sed -e s/^alias.// -e s/\ /\ $(printf "\043")--\>\ / | column -t -s $(printf "\043") | sort -k 1
ci        --> commit -v
cim       --> commit -m
co        --> checkout
logg      --> log --graph --decorate --oneline
pl        --> pull
st        --> status
...       --> ...

(주의: 이것Windows의 git bash에서 사용할 수 있습니다. 다른 터미널의 경우 이스케이프를 조정해야 할 수 있습니다.)


설명.

  1. !git config --get-regexp ^alias\\. config >로 합니다.alias.
  2. sed -e s/^alias.//alias.
  3. sed -e s/\\ /\\ $(printf \"\\043\")--\\>\\ /의 첫 오카렌스를 '스페이스'로 .\\ $(printf \"\\043\")--\\>은 (그것은)로 된다.#-->를 참조해 주세요.
  4. column -t -s $(printf \"\\043\")는 모든 행을 균일한 간격의 컬럼테이블로 포맷합니다. '''$(printf \"\\043\")은 ★★★★★★★★로 평가됩니다.#구분자로 사용됩니다.
  5. sort -k 1으로 모든 합니다.

$(프린트프 \"043\")

이렇게 하면 캐릭터가 출력됩니다.#(043)을 사용하다이 작은 해킹을 사용해서aliases 에일리어스 자체에는 문자 그대로는#,대신 '아주머니', '아주머니', '아주머니', '아주머니', '아주머니', '아주머니', '아주머니', '아주머니'가 됩니다.#문자를 입력합니다.참고: 리터럴이 있는 별칭이 필요한 경우 이 문자를 다른 문자로 변경하십시오.#signsdiscloss.discloss를 합니다.

Windows의 경우:

git config --list | findstr "alias"

모든 별칭 검색 또는 표시

★★에 .gitconfig아래[alias]:

aliases = !git config --list | grep ^alias\\. | cut -c 7- | grep -Ei --color \"$1\" "#"

그럼 넌 할 수 있어

  • git aliases ALL - 모든 에일리어스 - 에일리어스
  • git aliases commit ""- "commit "commit"를 포함하는 만 있습니다.

너무 심플하고 이전 답변에서는 볼 수 없었기 때문에 추가했습니다(잘 못 봤다면 죄송합니다.

git help -a

:>ma11hew28이 지적한 바와 같이 목록을 보려면 다음과 같이 하십시오.

Command aliases
   restore-deleted      !git restore $(git ls-files -d)

, 「」가 .git help을 사용하다

'help -a' 및 'help -g' 목록에는 사용 가능한 하위 명령과 몇 가지 개념 가이드가 나와 있습니다.특정 하위 명령 또는 개념에 대한 자세한 내용은 'git help' 또는 'git help'를 참조하십시오.

2.부터는 git 2.18을 할 수 .git --list-cmds=alias

이 간단한 해결책은 나에게 잘 작동했다

  1. : ) 。git config --global alias.aliases "config --get-regexp '^alias\.'"
  2. git aliases다른 모든 가명들을 나열하고

@Thomas의 답변이 마음에 들어 수정을 하고 있습니다.

기능:

  • 색을 입히다
  • parameter: 명령어를 할 수 파라미터: " " " 에서 " " " 에서 " 를 선택합니다.git config --get-regexp ^.)
  • 필터 추가
# .gitconfig

[alias]
    show-cmd = "!f() { \
        sep="㊣" ;\
        name=${1:-alias};\
        echo -n -e '\\033[48;2;255;255;01m' ;\
        echo -n -e '\\033[38;2;255;0;01m' ;\
        echo "$name"; \
        echo -n -e '\\033[m' ;\
        git config --get-regexp ^$name\\..*$2+ | \
        cut -c 1-40 | \
        sed -e s/^$name.// \
        -e s/\\ /\\ $(printf $sep)--\\>\\ / | \
        column -t -s $(printf $sep) | \
        sort -k 1 ;\
    }; f"

사용.

  1. git show-cmd alias
  2. git show-cmd "" st 에일리어스에는 '이러한 에일리어스'가 합니다.st
  3. git show-cmd i18ni18n
  4. git show-cmd core editorcore이 설정에는 다음 정보가 포함되어 있어야 합니다.editor

데모

여기에 이미지 설명 입력

창문에서도 잘 작동합니다.

설명.

  • 을 쓸 수.gitconfig하다

    [alias]
        your-cmd = "!f() { \
            \
        }; f"
    
  • name=${1:-alias}와 same as와 name = $1 if $1 else -alias

  • echo -n -e( 많은 에코 참조)

    • -n = 후행 줄바꿈을 출력하지 않습니다.
    • -e 다음 백슬래시 이스케이프 해석 활성화
  • '\\033[38;2;255;0;01m'(기타 SGR 파라미터 참조)

    • \\033[48;: 48번입니다.
    • \\033[38;2;255;0;0m: 38 은 :은 : : ; 0 = 255 ; 0 = 0 = : : : :
  • cut -c 1-40명령을 피하려면 너무 길어서 40자만 가져가세요.

  • sed -e 's/be_replace_string/new_string/'(예를 들어 special-char)를 삽입하는 space,>을 더해야 .\\프리픽스로서 사용합니다.

  • column -t -s $(printf $sep)는 모든 행을 균일한 간격의 컬럼테이블로 포맷합니다.

  • sort -k 1으로 모든 합니다.

기능이 내장되어 있습니다.해라

$ __git_aliases

에 모든 에일리어스를 나타냅니다.

  1. .gitconfig 파일(C:\Users\User.gitconfig)을 엽니다.Windows

  2. [별명] 아래에 아래 코드를 복사하여 붙여넣습니다.

    alias = !git config --list | grep ^alias\\. | cut -c 7- | grep -Ei --color \"$1\" "#"

  3. 내 '''git alias-- 모든 에일리어스를 나열합니다.

  4. 내 '''git alias commit-- 커밋과 관련된 모든 에일리어스를 나열합니다.

  5. 코드를 기억하지 않고 모든 에일리어스 목록을 가져옵니다. : )

있는 「에일리어스」를수.--help옵션에서 설명합니다.예를 들어 다음과 같습니다.

$ git sa --help
`git sa' is aliased to `stash'

$ git a --help
`git a' is aliased to `add'

다른 또나하git에일리어스'라고 불립니다)alias에일리어스를 git에 합니다.gitconfig 에음 、 gitconfig 、 음 ) ) ) 。[alias]★★★★

[alias]
    # lists aliases matching a regular expression
    alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"

예: 완전한 즉, 에일리어스 이름과 일치합니다.^foobar$ 다음과 같은 .

$ git alias st
alias.st status -s

$ git alias dif
alias.dif diff

또는 일치하는 에일리어스와 값을 모두 표시하는 regexp를 지정합니다.

$ git alias 'dif.*'
alias.dif diff
alias.difs diff --staged
alias.difh diff HEAD
alias.difr diff @{u}
alias.difl diff --name-only

$ git alias '.*ing'
alias.incoming !git remote update -p; git log ..@{u}
alias.outgoing log @{u}..

경고: regexp를 인용하여 셸의 글로벌 확장을 방지합니다.단, 패턴과 일치하는 파일이 없는 경우에는 기술적으로 필요하지 않습니다. Also: any regexp is fine, except 또한: 모든 regexp가 정상입니다.단,^( 패턴 시작) 및 ( 패턴 시작) ))$( 패턴 끝)은 사용할 수 없습니다. ( 패턴 끝) 용 습 니 ( end))암시되어 있습니다. Assumes you're not using 사용하지 않는 것으로 가정합니다.git-alias부에서git-extras.

또, 에일리어스는 확실히 다릅니다.이것은 제가 설정한 몇개의 에일리어스일 뿐입니다(아마도 도움이 될 것입니다).

에일리어스를 생성하여 머신상의 모든 git 에일리어스를 표시할 수 있습니다.코드 이하를 실행합니다.

git config --global alias.alias "! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /"

then, simply run 그럼, 간단히 실행하세요.git alias.

제 이 있습니다: ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.git aliases ★★★★★★★★★★★★★★★★★」git get-alias

★★★★★★★★★★★★★★★★ git aliases에일리어스 됩니다.★★★★★★★★★★★★★★★★ git get-alias <alias-name>이치노

git config --global alias.aliases '!f() { git config --get-regexp "^alias\." | cut -d " " -f 1 | cut -d "." -f 2 ; }; f'

git config --global alias.get-alias '!f() { git config --get-regexp "^alias\." | grep $1 ; }; f'
$ git alias -h

'alias' is aliased to '!git config --list | grep 'alias\.' | sed 
's/alias\.\([^=]*\)=\(.*\)/\1\  => \2/' | sort'
a        => !git add . && git status
aa       => !git add . && git add -u . && git status
ac       => !git add . && git commit
acm      => !git add . && git commit -m

Bash를 사용하여 글로벌 및 로컬 Git 별칭을 나열합니다.Git이 설치되어 있지 않아도 동작합니다.

$ cat ~/.gitconfig .git/config 2>/dev/null | sed -n '/alias/,/\[/p' | grep -v '^\['
        co = checkout
        br = branch
        ci = commit
        st = status

2>/dev/null이 존재하지 않는 하여 오류를 숨깁니다.
sed -n '/alias/,/\[/p'
grep -v '^\[' 마커를). - 네, 대괄호로 시작합니다.

같은 명령어의 Bash 에일리어스

$ alias gita="cat ~/.gitconfig .git/config 2>/dev/null | sed -n '/alias/,/\[/p' | grep -v '^\['"

$ gita
        co = checkout
        br = branch
        ci = commit
        st = status

언급URL : https://stackoverflow.com/questions/7066325/list-git-aliases

반응형