사용이 편리한 CLI 도구
11460 단어 Git
배경
이것은 매일의 업무와 개인 팀 개발에 사용되는git 관련 도구 소개입니다.
git 명령은 매우 편리하지만 다른 주변 도구를 사용하면 더욱 편리하게 사용할 수 있습니다.
(기본적으로 맥과 linux에서만 실행되지만 일부는 윈도우즈에서 사용할 수 없습니다.)
github/hub
■ github/hub
잘 아는 과자.
CLI에서 현재 디렉터리의 github 페이지를 당기거나 열 수 있습니다.
만약 GitHub와 GitHub Enterprise를 사용한다면 넣어야 한다고 생각합니다.
원본 읽기
git clone {user}/{repo}
만 해도 클론을 사용할 수 있어 편리합니다.참고문
설치
$ brew install hub
# aliasを貼ることを公式でも推奨している
(bash/zsh)$ eval "$(hub alias -s)"
(fish)$ eval (hub alias -s)
기본적인 사용법공식.과 정보가 충실하니 저쪽을 보세요.jonas/tig
■ jonas/tig
로그 트리, 디프, 가지를 예쁘게 볼 수 있는 도구입니다.
조작 방법도vimlike이고 사용 방법도 간단합니다.
물론 작업 중add와commit를 진행할 수 있습니다.
tig의 상세한 설정은tigrc로 진행하는 것이 습관이다.
(복제용으로만 사용하기 때문에 자세한 내용은 알 수 없습니다.)
tigrc.sample
# set key 'g' / goto file top
bind generic g move-first-line
# set key 'G' / goto file bottom
bind generic G move-last-line
bind main G move-last-line
# set key 'E'
bind generic E view-grep
# set key 'F'
bind generic F ?git fetch %(remote)
bind main F ?git fetch %(remote)
# set key 'U'
bind generic U ?git pull %(remote)
# set key 'C'
bind generic C !git commit
#bind refs C !git commit
bind main C !git commit
# set key 'P'
bind generic P ?git push -u %(remote) %(repo:head)
참고문
설치
$ brew install tig
junegunn/fzf
■ junegunn/fzf
fzf는 CLI 도구로서 추가 검색이 가능합니다.
git용 도구는 아니지만 조합하기 편리한 기능이 가득합니다.
다음 함수만 정의하면 fzf를 사용하여 모호한 검색을 증가시키는 동시에 지점을 전환할 수 있습니다.
bashrc
fbr() {
local branches branch
branches=$(git branch -vv) &&
branch=$(echo "$branches" | fzf +m) &&
git checkout $(echo "$branch" | awk '{print $1}' | sed "s/.* //")
}
마찬가지로 다음과 같이 함수를 정의하면 파일의 차이를 표시하면서 이동으로 올라가는 작업을 간단하게 할 수 있다.이렇게 말하는 정보는 공식적인 것도 있고 대량의 네트워크도 있기 때문에 이 방면의 입문은 매우 쉽고 매우 좋다.
bashrc
fga() {
modified_files=$(git status --short | awk '{print $2}') &&
selected_files=$(echo "$modified_files" | fzf -m --preview 'git diff {}') &&
git add $selected_files
}
겸사겸사 말씀드리지만, 설치는 고입니다.다른 함수 같은 것도 여기 에 쓰여 있으니 보십시오.
참고문
설치
$ brew install fzf
# To install useful key bindings and fuzzy completion:
$ $(brew --prefix)/opt/fzf/install
lazygit
■ jesseduffield/lazygit
git 명령에 사용할 간단한tui입니다.
add,commit 등 기본적인 조작은 말할 것도 없고blame,PR의 제작 등도 단말기에서 진행할 수 있다.
키보드뿐만 아니라 마우스도 조작할 수 있어 GUI에서 갈아타는 것도 비교적 쉽다.
참고문
기타
저자는git를 위한 도구뿐만 아니라docker를 위한 TUI 도구도 제작하여 매우 편리하고 추천할 만하다.각 용기의 CPU 사용률과 docker-compose 사용 시 로그 확인 등 기능이 풍부하여 매우 편리하다.
설치
$ brew install jesseduffield/lazygit/lazygit
(vim 플러그인)vim-fugitive
tpope/vim-fugitive
cli 도구가 아닌vimplugin.
fugitive는vim용git 플러그인입니다.
vim에서 편집->commit 등 작업은 vim를 종료하지 않고 진행할 수 있습니다.
blame와 diff도vim을 종료하지 않은 상태에서 사용할 수 있습니다.
설치
vimplugin 관리자를 사용할 때 다음과 같이 설정합니다.
[[plugins]]↲
repo = 'tpope/vim-fugitive'↲
keybind 개인 설정은 다음과 같습니다.vimrc
" ========================↲
" airblade/vim-gitgutter↲
" ========================↲
nnoremap [gitgutter] <Nop>↲
nmap <C-h> [gitgutter]↲
nmap [gitgutter]j <Plug>GitGutterNextHunk
nmap [gitgutter]k <Plug>GitGutterPrevHunk
nmap [gitgutter]u <Plug>GitGutterUndoHunk
총결산
git 명령,github는 편리한 기능이 많아서 기억이 안 나요. 그래서 이런 도구를 사용하면 익숙하게 사용할 수 있다는 느낌이 듭니다. 저는 개인적으로 만족합니다.
tiimgreen/github-cheat-sheet
편리해 보이는 기능은 전체적으로 ↑ 에서 찾습니다.tool에서는 사용할 수 없고 반복적으로 사용하는 느낌입니다. 그래서 언제 공부를 좀 해볼까요...
Reference
이 문제에 관하여(사용이 편리한 CLI 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryuichi1208/items/45fd2cdd865097a7ad3d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)