programing

git에서 명령의 별칭을 지정하려면 어떻게 해야 합니까?

newsource 2023. 5. 20. 10:49

git에서 명령의 별칭을 지정하려면 어떻게 해야 합니까?

나는 누군가가 영화를 본 스크린캐스트를 보았습니다.

git st
git ci

▁when해위. 내가 합니다.이 작업을 수행할 때 다른 의도가 있었는지 묻는 오류가 발생합니다.
좀 초보라서, 이걸 하려면 어떻게 해야 하는지 알아야겠어요?

으로 기적으로다됩추니다면가하줄을에 .~/.gitconfig

[alias]
    st = status
    ci = commit -v

또는 git config alias 명령을 사용할 수 있습니다.

$ git config --global alias.st status 

unix에서 별칭에 공백이 있는 경우 작은 따옴표를 사용합니다.

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

창에서 별칭에 공백 또는 명령줄 인수가 있는 경우 큰따옴표를 사용합니다.

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

alias 명령은 함수를 매개 변수로 사용할 수도 있습니다.별칭을 살펴봅니다.

다른 사람들이 말했듯이 깃 별칭을 추가하는 적절한 방법은 글로벌에 있습니다..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를 에는 bash를 하는 것을 합니다.git-completion.bash홈 디렉토리로 이동하여 해당 디렉토리에서 소스로 이동합니다.~/.bashrc(저는 이것에 대해 ProGit 온라인 책에서 배웠다고 생각합니다.)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'

제 생각에 가장 유용한 gitconfig는 다음과 같습니다. 우리는 항상 20%의 기능성 git을 사용합니다. 당신은 "gll"을 사용할 수 있습니다. 놀랍습니다. 세부 사항:

[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

당신은 그것이 필요합니다.git config alias저장소에서 합니다.Git 저장소에서 다음을 실행합니다.

git config alias.ci commit

전역 별칭의 경우:

git config --global alias.ci commit

'!' 연산자를 사용하여 셸을 생성하는 경우에도 명령을 체인으로 연결할 수 있습니다.

aa = !git add -A && git status

에 " " "라는 메시지가 됩니다.$ git aa.

별칭을 쉽게 확인하려면 다음 별칭을 추가하십시오.

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

그럼!$ git alias현재 별칭과 별칭의 기능을 제공합니다.

이것은 저에게 효과가 있었습니다.

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

날짜:

$ git --version

git version 1.7.7.5 (Apple Git-26)

는 별명을 .dog로그 그래프를 표시하는 경우:

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

다음과 같이 사용합니다.

git dog

다음은 시간을 절약하기 위해 사용할 수 있는 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

는 (단말기와 함께 Mac을 사용하고 있습니다) .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"

홈 디렉토리의 ~/.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예를면들. 별칭 아래에 입니다.별칭 제목 아래의 다른 명령에도 동일하게 적용됩니다.

별칭이 됩니다.st위해서status:

git config --add alias.st status

Git 별칭으로 셸 명령을 실행하려는 사용자의 경우 다음과 같습니다.

$ git pof

터미널에서 현재 분기를 오리진 레포로 밀어넣습니다.

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

어디서

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

command는 현재 분기를 반환합니다.

다음은 지점 이름을 수동으로 입력하는 바로 가기입니다.

git push origin -f <current-branch>

명령어와 명령어 모두에 할 수 .git " non-git " 은 " 은 " 입니다.이것은 버전 1.5에서 추가된 것으로 보입니다.git config --helpMac 버전 2.5.4의 페이지에는 다음이 표시됩니다.

별칭 확장 앞에 느낌표가 있으면 셸 명령으로 처리됩니다.

에서 글에서벌은.gitconfig가질 수 있는 파일:

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

다음을 실행합니다.

$ git hi
hello
$ git st
On branch master

...

사용자 디렉토리(vim ~/.profile)의 .profile에 모든 alias 명령을 추가했습니다.

alias gs='git status'
alias gp='git pull'
alias gph='git push'
alias gd='git diff | mate'
alias gau='git add --update'
alias gc='git commit -m'
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'
alias gfo='git fetch origin'

그리고 zsh 쉘 뿐만 아니라 bash에도 source 명령어를 추가했습니다.

bash 셸에서(vim ~/.bashrc)

source ~/.profile

zsh 쉘 내(vim ~/.zshrc)

source ~/.profile

한 줄 설정

$ git config --global alias.co checkout && git config --global alias.br branch && git config --global alias.ci commit && git config --global alias.st status && git config --global alias.unstage 'reset HEAD --' && git config --global alias.last 'log -1 HEAD'

용도:

$ git st
$ git co
$ git br
$ git ci
$ git last
$ git unstage <file | dir>

모든 설정은 다음과 같습니다.

$ cat ~/.gitconfig

[user]
    name = Sample User
    email = sample@gmail.com
[core]
    filemode = false
    compression = 1
    quotepath = off
    ignorecase = false
[color]
    ui = auto
[alias]
    co = checkout
    br = branch
    ci = commit
    st = status
    last = log -1 HEAD
    unstage = reset HEAD --

더 빨리 하길 바랍니다.

git 업데이트git: 'update'는 git 명령이 아닙니다.'git --help'를 참조하십시오.

이런 뜻이었습니까?
update-ref
git config --global alias.update 'syslog -v'
git 업데이트출처://git.kernel.org/pub/scm/git/git[최신] html -> 출발지/도착지[최신] maint -> 원산지/유지[최신] man -> 원산지/man[최신] 마스터 -> 오리진/마스터[최신] 다음 -> 출발지/다음[최신] pu -> 원산지/pu[최신] to do -> 원점/to do이미 최신 상태입니다.

Git에서 별칭을 만들려면 다음 명령을 사용합니다.

git config --local alias.s status

git config --local alias.c commit
git s

On branch master

nothing to commit, working tree clean

git status

On branch master

nothing to commit, working tree clean

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 구성 방법보다 더 짧은 별칭을 얻기 위해 npm 패키지를 만들었습니다.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

다른 명령도 마찬가지로 짧습니다.이렇게 하면 bash 완료도 유지됩니다.이 패키지는 점 파일에 bash 기능을 추가하며 osx, Linux 및 윈도우즈에서 작동합니다.또한 다른 별칭과 달리, 이 별칭은git->g두 번째 매개 변수도 포함됩니다.

만약 당신이 다른 대안을 원한다면,~/.gitconfig옵션과 조금 더 파고드는 것에 개방적인 또 다른 옵션은 글로벌 노드 패키지로 포장하여 전체 사용자 지정 git 명령을 작성하는 것입니다.

당신의 소포 안에.json, 당신은 루트 명령을 정의할 것입니다.gt를 선택한 명령을 합니다.을 선택한 다음 특정 명령을 필터링하여 올바른 git 명령을 실행합니다.를 들면, 들면를예,git checkout my-branch그럴 수도 있겠지요gt co mybranch.

npm의 "christian-git" 패키지는 다음 방법을 사용합니다. https://github.com/alexmacarthur/christian-git

내 .gitconfig 파일의 PFA 스크린샷

아래와 같은 가명으로

[alias]
    cb = checkout branch
    pullb = pull main branch

파포에 파일을 .gitconfig

사용할 것을 제안합니다..gitconfig 포함합니다.일단 별칭을 만들기 시작하면 많은 별칭이 표시될 수 있습니다.그것들은 여러분이 다른 사람들과 공유하고 싶은 것일 것입니다.전용 파일에 저장하면 쉽게 공유할 수 있습니다.팀은 깃 레포를 사용하여 공유 별칭을 보유할 수도 있습니다.물론 공유하지 않으려는 일부 별칭도 있으므로 개인 별칭 파일에 보관하십시오.

[include]
    path=src/dotfiles/.gitaliases

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

[include]
    path=.gitaliases.private

여기에는 별칭이 지정됩니다.여기에도 훌륭한 답변들이 있지만, 이것은 윈도우와 리눅스가 다르기 때문에 추가했습니다.

alias s="git status"

여러분의 지침 손가락은 여러분이 평생 동안 겪은 모든 고통을 용서해 줄 것입니다.

Windows의 또 다른 가능성은 바로 가기가 있는 .bat 파일로 디렉토리를 채우는 것입니다.파일 이름이 사용할 바로 가기입니다.디렉토리를 PATH 환경 변수에 추가하기만 하면 cmd 창에 폐기에 대한 모든 바로 가기가 표시됩니다.

예(gc.bat):

git commit -m %1

그런 다음 콘솔에서 다음 명령을 실행할 수 있습니다.

gc "changed stuff"

제가 이것을 답변으로 추가하는 이유는 이것을 사용할 때 당신은 제한되지 않기 때문입니다.git ...명령만 입력합니다.

언급URL : https://stackoverflow.com/questions/2553786/how-do-i-alias-commands-in-git