힘내 별명 나열
내 자식 별칭 목록, 즉 bash alias
명령 과 비슷한 것을 어떻게 인쇄 합니까?
이 답변은 johnny 의 답변 을 기반으로합니다 . from을 사용하지 않는 경우에 적용됩니다 .git-alias
git-extras
Linux에서 한 번 실행하십시오.
git config --global alias.alias "! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /"
이렇게하면 파일에 alias
저장되는 영구 git 별칭이 생성 ~/.gitconfig
됩니다. 그것을 사용하면 모든 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
이 별명이며 git의 기능이 아니라는 것을 잊지 않도록 권장하지 않습니다 .나열된 별칭을 정렬하려면
| sort
닫는 큰 따옴표 바로 앞에 추가하십시오 . 또는 별칭을~/.gitconfig
정렬 하여 유지할 수 있습니다 .별명을 시스템 전체 별명으로 추가하려면
--global
(현재 사용자의 경우)를--system
(모든 사용자의 경우)로 바꾸십시오 . 이것은 일반적으로/etc/gitconfig
파일 에 들어갑니다 .
$ git config --get-regexp 별칭
나는 alias
정확하게이 목적을 위해 (이상하게 충분한) git 별칭을 만들었습니다 ... 별칭을 충분히 사용하면 때때로 편리합니다 ...
$ git config --global alias.alias "config --get-regexp ^alias\."
정규식은 줄이로 시작하는지 확인하십시오 alias.
.
다른 대안 (순전히 기억하기 쉬운 것) :
git config --list | grep alias
다음은 Linux, MacOSX 및 Windows (msysgit 사용)에서 작동합니다.
git la 를 사용 하여 .gitconfig에 별칭을 표시 하십시오.
'bash scripting'이 들렸습니까? ;)
위의 주석에서 '필요하지 않은'부분에 대해 기본적으로 내 별칭에 대한 개요와 같은 맨 페이지를 만들었습니다. 왜 모든 소란? 완전한 오버 킬 아닌가요?
읽어...
.gitconfig에서 다음과 같이 구분하여 다음과 같은 명령을 설정했습니다 TAB=TAB.
[alias]
alias1 = foo -x -y --z-option
alias2 = bar -y --z-option --set-something
TAB=정의 된 별칭 의 일부 를 grep하기 위해 다른 별칭을 정의했습니다. (다른 모든 옵션은 정의에서 '='앞뒤에 탭이없고 공백 만 있습니다.)
별명에 추가되지 않은 주석도 추가 TAB=====되었으므로 Grepping 후에 표시됩니다.
더 잘 보려면 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=
'부분이 일치 TAB=합니다.
내가 가진 별칭에 대해 더 잘 개요하고 bash 콘솔을 사용하기 때문에 터미널 색상으로 출력 색상을 지정했습니다.
- 모든 '='는 빨간색으로 인쇄됩니다
- 모든 '#'은 녹색으로 인쇄됩니다
고급 버전 : (컬러)
la = "!grep '\t=' ~/.gitconfig | sed -e 's/=/^[[0;31m=^[[0m/g' | sed -e 's/#.*/^[[0;32m&^[[0m/g' | less -R"
기본적으로 위와 동일하며 색상 코드를 출력으로 가져 오기 위해 sed 사용법 만 추가됩니다.
less 로 표시된 색상을 얻으려면 less 의 -R
플래그 가 필요합니다.
(최근에 창 아래에 스크롤 막대가있는 긴 명령이 모바일 장치에서 올바르게 표시되지 않는다는 것을 알았습니다. 텍스트가 잘리고 스크롤 막대가 누락되었습니다. 마지막 코드 스 니펫이있는 경우에는 이동 중에도 코드 스 니펫을 볼 때주의하십시오.)
왜 그런 마술이 효과가 있습니까?
나는 나의 필요에 맞춘 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
내 리눅스 또는 맥 워크 스테이션에서도 .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
도움을 얻기 위해 필요한 모든 것입니다. 그것은 단지 일부 문자이지만 얼마나 자주 입력합니까?
물론 다음과 같은 모든 것을 바로 가기와 함께 사용합니다 ...
- 더하다
- 범하다
- 커밋-수정
- 재설정-하드 헤드
- 푸시
- 술책
- 리베이스
- 점검
- 분기
- show-branch (다양한 변형)
- 지체
- 거절하다
- 차이 (변형)
- 로그 (많은 변형)
- 상태
- 보여 주다
- 노트
- ...
이것은 단지 내 머리 꼭대기에서 있었다.
많은 git 명령이 그래픽 프론트 엔드에서 제대로 구현되지 않기 때문에 종종 GUI없이 git을 사용해야합니다. 그러나 내가 그것들을 사용할 때마다 거의 같은 방식입니다.
: 마지막 단락에서 언급 한 '구현되지 않은'부분에
나는 GUI에서이 비교 뭔가를 찾을 아직 :
sba = show-branch --color=always -a --more=10 --no-name
- 잘 커밋으로 그들 안에있는 모든 로컬 및 원격 지점을 보여
ccm = "!git reset --soft HEAD~ && git commit"
변화를 마지막 커밋 메시지 -
더 간단한 관점에서 :
얼마나 자주 git add .
또는 git commit -am "..."
? ... 심지어 나머지를 계산하지 않음
등의 작업에 일을 얻기 git aa
또는 git ca "..."
창에서,
또는 bash는 별칭과 gaa
/ g aa
또는 gca "..."
/ g ca "..."
리눅스 및 맥의에 ...
내 필요에 따라 이처럼 git 명령을 조정하는 것이 현명한 것처럼 보였습니다 ...
... 더 쉽게 사용하기 위해 덜 사용되는 명령에 대해 스스로 도왔습니다. 매번 맨 페이지를 참조하지 않아도됩니다. 명령은 사전 정의되어 있으며 가능한 한 쉽게 찾을 수 있습니다.
결국 우리는 프로그래머입니까? 필요한대로 일을 처리하는 것이 우리의 일입니다.
추가 스크린 샷은 다음과 같습니다. Windows에서 작동합니다.
보너스 : 리눅스 나 맥을 사용한다면, 컬러 매뉴얼 페이지가 도움이 될 것입니다.
다음으로 git var
시작하는 항목 만 사용 하고 필터링하십시오 alias
.
git var -l | grep -e "^alias"
다른 답변에서 언급했듯이 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-"
즐겨!
창문 :
git config --list | findstr "alias"
모든 별칭 검색 또는 표시
.gitconfig
아래에 추가 [alias]
:
aliases = !git config --list | grep ^alias\\. | cut -c 7- | grep -Ei --color \"$1\" "#"
그럼 넌 할 수있어
git aliases
-모든 별칭 표시git aliases commit
- "커밋"을 포함하는 별칭 만
나는 carej 가 그의 답변으로 보고 하는 " 개요 목록-가장 많이 사용되는 git 명령 "Git 2.18 "사용 --list-cmds=alias
( 커밋 3301d36 )"으로 2018 년 6 월에 언급했습니다 .
git --list-cmds=alias
그 외에도 또는의 출력을 Git 2.14.x / 2.15로 변경하는 출력을와 git config --get-regexp alias
결합 할 수 있습니다 git help
.
"
git help co
"는 "co is aliased to ...
"가 아니라 "git co is
" 라고 말합니다 .
Kaartic Sivaraam ( )의 commit b3a8076 (2017 년 9 월 12 일)을 참조하십시오 . ( Junoio C Hamano 에 의해 합병 -- 커밋 5079cc8 , 2017 년 9 월 25 일)sivaraam
gitster
help
:보다 정확한 메시지 변경사용자가
--help
별명 명령에 대해 ' '옵션 을 사용하려고 하면 별명에 대한 정보가 다음과 같이 인쇄됩니다.
$ git co --help
`git co' is aliased to `checkout'
사용자가 '
co
'이 아닌 'git co
'의 별칭 만 지정했기 때문에 올바르지 않습니다 .
사용자가 'tgit
' 와 같은 별칭을 사용한 경우에는 올바르지 않을 수도 있습니다 .
$ tgit co --help
`git co' is aliased to `checkout'
전 세계 에서이 별칭 을 사용 합니다~/.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 에서 작동합니다 . 다른 터미널의 경우 이스케이프를 조정해야 할 수도 있습니다. )
설명
!git config --get-regexp ^alias\\.
git config에서 모든 줄을 인쇄합니다.alias.
sed -e s/^alias.//
alias.
라인에서 제거sed -e s/\\ /\\ $(printf \"\\043\")--\\>\\ /
공백의 첫 번째 발생을\\ $(printf \"\\043\")--\\>
(로 평가됨#-->
)으로 바꿉니다 .column -t -s $(printf \"\\043\")
모든 행을 균일 한 간격의 열 테이블로 형식화합니다.$(printf \"\\043\")
평가 되는 문자#
는 구분 기호로 사용됩니다.sort -k 1
첫 번째 열의 값을 기준으로 모든 줄을 정렬합니다
$ (printf \ "\ 043 \")
#
열 분리에 사용되는 문자 (16 진 043) 만 인쇄합니다 . 이 작은 핵을 사용하여 aliases
별칭 자체에 문자가 포함되지 않습니다 #
. 그렇지 않으면 #
인쇄시 해당 문자를 대체합니다 . 참고 : 리터럴 #
기호 가있는 별명이 필요한 경우이를 다른 문자로 변경하십시오 .
내장 기능이 있습니다 ... 시도
$ __git_aliases
모든 별칭을 나열합니다 :)
별명 이름을 알고 있으면 --help
옵션을 사용하여 별명 을 설명 할 수 있습니다 . 예를 들면 다음과 같습니다.
$ git sa --help
`git sa' is aliased to `stash'
$ git a --help
`git a' is aliased to `add'
자식 2.18부터는 사용할 수 있습니다 git --list-cmds=alias
자식 별칭을 출력하는 또 다른 git
별칭 ( alias
)은 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}..
주의 사항 : 파일이 패턴과 일치하지 않는 경우 / 기술적으로 필요하지는 않지만 쉘 확장을 방지하기 위해 정규 표현식을 인용하십시오. 또한 : ^
(패턴 시작) 및 $
(패턴 끝)을 사용할 수 없다는 점을 제외하고는 정규 표현식이 좋습니다 . 그들은 내포되어 있습니다. git-alias
from을 사용하지 않는 것으로 가정합니다 git-extras
.
또한 별명은 분명히 다릅니다. 이것들은 내가 구성한 몇 가지입니다. (아마도 유용 할 것입니다.)
참고 URL : https://stackoverflow.com/questions/7066325/list-git-aliases
'development' 카테고리의 다른 글
virtualenv를 제거 / 삭제하는 방법 (0) | 2020.02.22 |
---|---|
되 돌린 Git 커밋을 "복귀 취소"하려면 어떻게합니까? (0) | 2020.02.22 |
'클로저'란 무엇입니까? (0) | 2020.02.22 |
Docker-Compose를 사용하여 여러 명령을 실행하는 방법 (0) | 2020.02.22 |
node.js를 사용하여 JSON을 예쁘게 인쇄하려면 어떻게해야합니까? (0) | 2020.02.22 |