Git, GitHub와 Sublime Text 튜토리얼 Advanced

[처음으로]

Terminus로 Git 작업을 빈번하게 수행한다면, git log --oneline과 같은 명령어를 일일이 입력하는 것은 지루합니다. 자주 사용하는 명령어들을 별칭(alias)으로, 로그를 보기 위해서는 그저 gl만 입력해도 충분하다면, 생산성은 훨씬 높아질 것입니다. 또한 로컬 저장소에서 여러 브랜치를 넘나들며 작업하거나 여러 로컬 저장소를 관리해야 한다면, 현재 내가 작업하고 있는 저장소와 브랜치를 시각적으로 두드러지게 하는 편이 실수를 줄일 수 있을 것입니다. 한 번 입력했던 명령어가 자동완성이 된다면 어떨까요? git status를 입력하지 않고도 현재 위치한 저장소의 파일/폴더 상태를 알 수 있다면요? 커맨드 라인 인터페이스(CLI)가 흑백으로 가득한 단조로운 화면과 불편하기 짝이 없는 사용법을 의미한다는 편견은 더 이상 성립하지 않습니다–21세기인걸요. :wink:

Concept

Terminus

배색

폰트

폰트 설치하기

폰트 적용하기

for Windows

cmd versus Git BASH

Git BASH를 로그인 쉘로 설정하기

  1. ctrl/command+shift+p를 눌러 Preferences: Terminus Settings를 선택하면, 로그인 쉘 설정 파일을 수정할 수 있는 창이 열릴 것입니다. 다음의 코드를 참조하여 오른쪽 탭의 내용을 적절히 수정하세요:
    [View code]
    { /* the outermost curly brackets will be already in your settings file */
        "default_config": {
            "linux": null,    // login shell
            "osx": null,      // login shell
            "windows": "Git BASH",
        },
        "shell_configs": [
            {
                "name": "Git BASH",
                "cmd": "C:\\Program Files\\Git\\bin\\sh.exe",
                "env": {},
                "enable": true,
                "platforms": ["windows"],
            },
        ],
    } /* the outermost curly brackets will be already in your settings file */
    
  2. 이제 Terminus를 실행하면(alt/option+r) Git BASH가 실행됩니다.

Git BASH에서 Git 명령어 별칭 설정하기

  1. 자주 사용하는 Git 명령어들의 별칭을 만들기 위해, Git BASH의 설정 파일을 편집할 것입니다. 다음의 코드를 Terminus에 입력하세요:
    cd ~
    alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
    subl .bashrc
    
  2. 서브라임 텍스트에 .bashrc 파일을 편집할 수 있는 탭이 열리면, 다음의 코드를 추가하세요:
    [View code]
    # general
    alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
    
    # git commands
    alias ga="git add"
    alias gap="git add -p"
    alias gca="git commit --amend"
    alias gcm="git commit -m"
    alias gco="git checkout"
    alias gcl="git config --list"
    alias gb="git branch"
    alias gs="git status"
    alias gl="git --no-pager log --oneline"
    
  3. alt/option+w, alt/option+r을 눌러 Terminus를 종료하고 다시 시작하세요.
  4. 이제 Git 저장소에서 gs만 입력하면 git status 명령어가 실행됩니다. 만약 Git 명령어들의 별칭을 수정하거나 추가하고 싶다면, 다음의 코드를 Terminus에 입력하여 .bashrc 파일을 편집하세요:
    cd ~
    subl .bashrc
    

for macOS & WSL Ubuntu

BASH versus Zsh

Zsh을 로그인 쉘로 설정하기

  1. macOS Mojave 이하 또는 WSL Ubuntu를 사용한다면, 로그인 쉘을 BASH에서 Zsh로 변경해야 합니다. 다음의 코드를 Terminus에 입력한 후, Terminus(또는 OS)를 재시작하세요:
    chsh -s `which zsh`
    
  2. Terminus에 다음의 코드를 입력했을 때 bin/zsh 또는 usr/bin/zsh이 출력된다면 로그인 쉘이 Zsh로 설정된 것입니다:
    echo $SHELL
    

Zsh에서 Git 명령어 별칭 설정하기

  1. 다음의 코드를 OS에 맞게 수정하여 Terminus에 입력합니다.
    # WSL Ubuntu
    # alias subl='/mnt/c/Program\ Files/Sublime\ Text\ 3/subl.exe'
    cd ~
    subl .zshrc
    
  2. 서브라임 텍스트에 .zshrc 파일을 편집할 수 있는 탭이 열리면 다음의 코드를 OS에 맞게 수정하여 추가합니다:
    [View code]
    ##################
    # VAL SET
    ##################
    
    # WSL Ubuntu
    # alias subl='/mnt/c/Program\ Files/Sublime\ Text\ 3/subl.exe'
    # export PATH=$HOME/bin:/usr/local/bin:$PATH
    export HISTFILE=~/.zsh_history
    export HISTSIZE=10000
    export SAVEHIST=10000
    
    ##################
    # PERSONAL
    ##################
    
    # aliases
    alias help=run-help
    alias ga="git add"
    alias gap="git add -p"
    alias gca="git commit --amend"
    alias gcm="git commit -m"
    alias gco="git checkout"
    alias gcl="git config --list"
    alias gb="git branch"
    alias gs="git status"
    alias gl="git --no-pager log --oneline"
    
  3. alt/option+w, alt/option+r을 눌러 Terminus를 종료하고 다시 시작하세요.
  4. 이제 Git 저장소에서 gs만 입력하면 git status 명령어가 실행됩니다. 만약 Git 명령어들의 별칭을 수정하거나 추가하고 싶다면, 다음의 코드를 Terminus에 입력하여 .zshrc 파일을 편집하세요:
    cd ~
    subl .zshrc
    

Zsh에서 테마와 플러그인 설치하기

  1. WSL Ubuntu 사용자는 먼저 파이썬을 설치합니다:
    sudo apt install python-minimal
    
  2. 다음의 코드를 Terminus에 입력하여 Zsh의 설정 관리 프레임워크인 zplug와, 편리한 폴더 이동 기능을 제공하는 플러그인인 autojump를 설치합니다:
    curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh
    cd ~
    git clone git://github.com/wting/autojump.git
    cd autojump
    ./install.py
    
  3. 다음의 코드를 Terminus에 입력하면 서브라임 텍스트에 .zshrc 파일을 편집할 수 있는 탭이 열릴 것입니다.
    cd ~
    subl .zshrc
    
  4. PERSONAL 영역 바로 위에 다음의 코드를 추가하면, zplug가 Terminus 재시작시 다음의 플러그인들을 자동으로 설치 및 적용합니다:
    • zsh-autosuggestions: 한 번 입력했던 명령어를 자동완성 후보로 추천
    • zsh-history-substring-search: 명령어의 중간부터 입력해도 입력했던 명령어들 중 비슷한 명령어를 추천
    • zsh-completions: 자동완성
    • autojump: j 폴더명 명령어를 통해 전체 경로를 입력하지 않고 폴더명만 입력해서 폴더를 이동
    • git: Git 명령어들의 별칭을 설정
    • alias-tips: 별칭이 설정된 명령어를 입력시, 해당 명령어의 별칭을 알려주는 도움말 메시지를 출력
    • powerlevel10k: 프롬프트에 표시되는 정보의 커스터마이징 폭이 넓은 테마
      [View code]
      ##################
      # ZPLUG
      ##################
      
      source ~/.zplug/init.zsh
      
      # plugins
      zplug "zsh-users/zsh-history-substring-search"
      zplug "zsh-users/zsh-completions"
      zplug "zsh-users/zsh-autosuggestions"
      zplug "plugins/autojump", from:oh-my-zsh
      zplug "plugins/git", from:oh-my-zsh
      zplug "djui/alias-tips"
      
      # Load theme file
      zplug "romkatv/powerlevel10k", as:theme
      
      # Install plugins if there are plugins that have not been installed
      zplug check || zplug install
      zplug clean --force
      
      # Then, source plugins and add commands to $PATH
      zplug load
      
  5. 다음의 코드를 OS에 맞게 수정하여 PERSONAL 영역의 마지막에 추가합니다:
    [View code]
    # directoreis.zsh configuration (from Oh-My-Zsh)
    . ~/.zplug/repos/robbyrussell/oh-my-zsh/lib/directories.zsh
    setopt auto_cd
    
    # enable color support of ls
    # macOS
    # alias ls='ls -G'
    # WSL
    # alias ls='ls --color=auto'
    
    # zsh-history-substring-search configuration
    bindkey "$terminfo[kcuu1]" history-substring-search-up
    bindkey "$terminfo[kcud1]" history-substring-search-down
    HISTORY_SUBSTRING_SEARCH_FUZZY='on'
    
  6. Terminus를 재시작하고 zplug가 플러그인 설치를 모두 마치면, powerlevel10k 테마의 설정 창이 나타날 것입니다.
    • 우리는 Terminus로 Zsh을 실행하기 때문에, Zsh 테마들의 배색은 Terminus에 의해 덮어씌워집니다. 따라서 Zsh 테마를 고를 때는 색상 조합이 아니라, 프롬프트가 어떻게 구성되어 있느냐가 관건입니다.
    • 다음의 링크에서 Zsh의 다양한 테마들을 확인해보세요: [Oh My Zsh (bundle)] [Oh My Zsh (external)]
      • 테마 적용하기
        [View code]
        1. 다음의 코드를 Terminus에 입력하여 서브라임 텍스트에서 .zshrc 파일을 편집할 수 있는 탭을 불러옵니다.
          cd ~
          subl .zshrc
          
        2. 이전에 powerlevel10k 테마를 사용하고 있었다면, 다음의 코드를 찾아 삭제합니다:
          # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
          [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
          
        3. ZPLUG 영역에서 # Load theme file과 그 다음 행을 찾고, 다음의 코드를 참조하여 수정합니다.
          • Oh My Zsh (bundle):
            # Load theme file
            zplug "themes/themename", from:oh-my-zsh, as:theme
            
          • Oh My Zsh (external):
            # Load theme file
            zplug "username/repositoryname", as:theme
            

🔼 🔽