일상적인 사용자 지정 Git 명령
4724 단어 gitprogramming
내가 반복하는 것에 주의를 기울이고...기록하기
이 기사에서는
git
에 대해 이야기하고 나만의 git
명령을 작성하려고 합니다. 구현된 대로git
는 $PATH
로 시작하는 git-
의 모든 실행 파일을 git
명령으로 인식합니다.내 컴퓨터에는 내
~/bin
의 일부인 $PATH
폴더가 있으며 이러한 git
명령이 많이 있습니다. 그 중 몇 가지를 살펴보겠습니다.Git "Slog" 둘러보기
내가 거의 매일 사용하는 하나의
git
명령이 있습니다: git slog
; a simple custom function that I wrote .해당 명령의 본문은 다음과 같습니다.
git log \
--graph \
--pretty=format:'%C(auto)%h — %s %C(blue)%an, %C(green)(%cs)%Creset%C(auto)%d%Creset' \
$@
위의 명령은 커밋당 한 줄을 생성하고(시각적 스캔에 도움이 되는 색상 포함) 해당 커밋의 "그래프"를 렌더링합니다.
후행
$@
를 사용하면 git slog
로 전달되는 추가 인수를 git log
로 전달할 수 있습니다. --since
, --until
, --author
또는 many of the other git log
options 을 사용하려는 경우에 유용합니다.아래는 오늘 기준으로 Hyrax의 메인 브랜치에서 나온 처음 몇 줄의 출력입니다.
* 4f8b5ded3 — provide default PermissionBadge presenter behavior when `nil` tamsin johnson, (2022-08-23) (HEAD -> main, origin/main, origin/HEAD)
* 3e08ab376 — don't load_and_authorize a model when indexing Embargoes tamsin johnson, (2022-08-23)
* 1c40a73cd — support newer versions of FactoryBot tamsin johnson, (2022-08-23)
* bf5df6f9d — Move copy of template below injection of mixin it references Chris Colvard, (2022-08-23)
* 3bf4b276a — soften dependendy on search_state_class for app generation Chris Colvard, (2022-08-23)
* c97f078c1 — Remove TAGS rodyoukai, (2022-08-18)
* b04b1eb7d — update batch_upload_form test rodyoukai, (2022-08-18)
* a4b5e0d40 — add bibliographic_citation to work form rodyoukai, (2022-08-18)
* 27ef645f0 — Merge pull request #5790 from samvera/admin_set_fallback_main Daniel Pierce, (2022-08-05)
|\
| * a7afa4639 — AdminSet needs to fall back to an id if noid is false Rob Kaufman, (2022-08-03)
|/
* 346cef1ed — Merge pull request #5784 from samvera/cbeer-patch-1 Daniel Pierce, (2022-07-27)
|\
| * 63c3cecf4 — SPARQL gem monkey-patches Hash#deep_dup and breaks Blacklight's expected contract with Rails Chris Beer, (2022-07-23)
| * 35cc0a054 — Implement search_state_class used by upstream blacklight Chris Beer, (2022-07-22)
| * 6cd2ca8ba — Unpin Blacklight Chris Beer, (2022-07-22)
|/
* 0cdb45928 — comet: decouple Derivatives from Characterization tamsin johnson, (2022-07-14)
내가 작성한 추가 사용자 지정 Git 기능
이들 중 대부분은 원래 git aliases으로 시작했습니다. 그러나 나는 그것들을 명령으로 "승격"하기로 선택했습니다. 부분적으로는 연습의 문제이기도 하지만 명령을 문서화하기가 더 쉽다는 것을 알았기 때문이기도 합니다.
내가 쓴 다른 몇 가지가 있습니다.
git-edit
(내
$EDITOR
를 통해) git에 따라 변경된 모든 파일을 편집합니다.git-byegone
원격 분기가 사라진 모든 로컬 추적 분기를 삭제합니다(예: 삭제됨).
git-prune-branches
git-byegone
와 같지만 원격 분기를 정리하고 지정된 분기에 병합된 분기를 삭제합니다.git-squash
주어진 분기에서 분기된 지점에서 현재 분기에 대해 대화형 리베이스를 수행합니다.
git-stats-for
주어진 저장소에 대한 작성자의 통계를 보기 위한 명령줄 Ruby 스크립트.
git-unmerged-edit
( my
$EDITOR
를 통해) 현재 저장소에서 병합되지 않은 모든 파일을 편집합니다../bin
directory of my dotzshrc repository에서 볼 수 있습니다.결론
근무 시간 내내 나는 종종 내 명령 기록을 참조합니다.
나는
CTRL
에 r
+ history-incremental-search-backward
를 사용하여 내 명령을 검색하라는 프롬프트를 제공하고 이전에 수행한 작업을 기억하도록 도와줍니다.위의 대부분의 명령은 내가 "제대로"캡처하기 전에 몇 번 사용하고 있음을 발견했습니다. 그리고 그것들을 기억할 수 있도록 그들 자신의 파일에 썼습니다.
Reference
이 문제에 관하여(일상적인 사용자 지정 Git 명령), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jeremyf/everyday-custom-git-commands-216i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)