[팁] GitHub의 CLI 도구 : 허브에서 PR 생성을 조금 편하게

3266 단어 tipsGitHub허브
여러분, hub 사용하고 있습니까?

이전에 조금만 사용해 결국 사용하는 것을 그만두었습니다만, 최근 또 사용하기 시작했으므로 이 기회에 공유시켜 주세요.

본 기사의 대상자


  • GitHub를 사용하는 사람
  • 특히 WIP 방법으로 개발하는 사람
  • 조금 즐기고 싶은 사람


  • 허브?



    GitHub에서 제공하는 명령줄 도구입니다.
    issue 쓰거나 PR을 만들거나 명령으로 할 수 있습니다.

    설치



    여기 에 있지만 Mac 사용자의 경우 다음과 같이 완료합니다.
    brew install hub
    

    WIP인 PR을 새롭게 만드는



    지금까지의 방법(시마생의 경우)



    ※참고까지 ()내에 개인적인 별칭을 사용한 경우를 기재.
  • 새로운 브랜치를 작성. git checkout -b hoge ( git co -b hoge )
  • 빈 커밋 작성. git commit --allow-empty -m '[WIP][ci skip]〇〇をやる' ( git cme -m '[WIP][ci skip]〇〇をやる' )
  • 원격 저장소로 푸시합니다. git push -u origin hoge ( git pc )
  • GitHub로 이동하여 포치포치 PR을 만든다.

  • hub를 사용하는 경우


  • 전제로, ~/.gitconfig 에 이하의 별칭을 설정해 둔다 [alias] mkpr = !"f() { git commit --allow-empty -m \"$1\" && git push -u origin HEAD && hub pull-request --draft; }; f"
  • 새로운 브랜치를 작성. git checkout -b hoge ( git co -b )
  • 새로운 PR을 작성. git mkpr '[ci skip]〇〇をやる'
  • 빈 커밋 작성하고 push하고 PR 작성을 한 번에 하고 있습니다.
  • 전제로 push하고 싶은 브랜치에 체크아웃 해야 합니다. (지금있는 분기를 푸시)
  • PR을 Draft로 만들려고하기 때문에 타이틀에서 [WIP]가 삭제되었습니다.


  • 실제로 ↓ 같은 느낌으로 사용하고 있습니다!



    신경이 쓰이는 분은 꼭 사용해 보세요! !

    기타 : gitconfig를 노출



    이하, 자신의 설정입니다. "이런 설정도 좋다!"라는 것이 있으면 알려주세요.
    [alias]
        lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
        lga = log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
        st = status
        cm = commit
        br = branch
        co = checkout
        # 行ごとの差分じゃなくて,単語レベルでの差分を色付きで表示する
        difff = diff --word-diff
        diffc = diff --cached
        cme = commit --allow-empty
        pc = push -u origin HEAD
        # use hub command
        see = browse
        mkpr = !"f() { git commit --allow-empty -m \"$1\" && git push -u origin HEAD && hub pull-request --draft; }; f"
    [color]
        ui = true
    [url "[email protected]:"]
        ...
    [user]
        ...
    [core]
        editor = vim
        pager = nkf -w | LESSCHARSET=utf-8 less
    [commit]
        template = ~/.commit_template
    

    특필하는 것은 별로 없는 느낌입니다만, 하나 소개하면 git diffc(git diff --cached) 는 자주(잘) 사용합니다.

    보통의 git diff 가 Untracked인 파일의 diff를 표시해 주는 것입니다만, git diff --cachedgit add 한 파일의 diff를 표시해 줍니다.
    복수 파일을 편집하고 있는 상태에서 일부 파일만 commit하고 싶을 때 등에 「어느 add 했을까」의 확인을 위해서 등에 사용하고 있습니다. 그리고는 (언어로는 설명하기 어렵습니다만…) 완성된 부분부터 순서대로 add해 가는 것 같은 사용법의 때에 사용하고 있습니다.

    좋은 웹페이지 즐겨찾기