シェルのエイリアスをオープンします


プロジェクトのコードをマシンに表示し、コードをgithubでホストします.カップルシナリオを想像してください
  • あなたは、あなたが認めない枝につまずきます.あなたはどのようにこの支店が主要なものと異なるかについて見たいですmain 枝.
  • あなたはブランチをマージしますmain プル要求なしで支店.もう一度、あなたは合併の前に変化を見たいです.
  • 両方のシナリオへの答えはgit diff .
    私はあなたのことを確信していません、しかし、私はより大きいdiffs(偶数色のもの)を端末でいくぶん面倒に見るのを見つけます.
    私たちがVSCodeで持っているもののようなGUIツールがありますが、メニューをクリックして適切な画面を取得し、関連する枝を見つけるので、それは私と一緒に貼らないように時間がかかります.
    diffsを見るのにものすごいことを見つけるのはgithubの比較ページです.

    それはよく、よく組織化され、有用です.私ができるときはいつでも、私はそこで私のGit Diffesを見るのを好みます.
    比較ページに取得するURLをクラフトするも退屈です.
    2つのブランチまたはコミットの間の変更を確認するには、Github diffページを開くには、コンソールのエイリアスを追加する方法の簡単なヒントです.
    > ghcmp main my-feature-branch # opens a browser window with Github compare of "main" and "my-feature-branch"
    

    必要条件


    あなただけが必要git エイリアスを追加する環境にインストールされます.
    注:あなたはghcmp gitリポジトリを持つディレクトリ内のコマンド(別名を何でも)を参照してください.
    エイリアスの追加方法zsh and bash MacとLinux上のシェル.

    比較ページ


    ページURL形式を比較しますhttps://<REPO URL>/compare/<SOURCE BRANCH OR COMMIT>...<TARGET BRANCH OR COMMIT>間の違いに注意してください.. and ... (2ドットと3ドット).
    2ドット:すべてのターゲットが持つが、ソースがそうでないコミットして、ソースが持っているが、目標がそうしないコミットを示します.
    3ドット:すべてのターゲットは、ソースがないことをコミットします.
    例えば、0.4-stable 分枝0.3-stable インreact repo:
    https://github.com/facebook/react/compare/0.3-stable...0.4-stable

    のコマンドを開きます


    エイリアスシグネチャghcmp [from branch-or-commit] [to branch-or-commit] , シェルコマンドは以下の通りです.
    マック
    open "$(git config --get remote.origin.url | sed -E 's/:([^\/])/\/\1/g' | sed -e 's/git@/https:\/\//g' | sed -e 's/.git$//')/compare/$1...$2"
    
    リナックス
    xdg-open "$(git config --get remote.origin.url | sed -E 's/:([^\/])/\/\1/g' | sed -e 's/git@/https:\/\//g' | sed -e 's/.git$//')/compare/$1...$2"
    
    好奇心が悪かったなら、open ブラウザで次のURLを開き、xdg openでLinux用に置き換えます"$(git config --get remote.origin.url git configファイルからrepoのURLを取得する| sed -E 's/:([^\/])/\/\1/g' | sed -e 's/git@/https:\/\//g' | sed -e 's/.git$//') Repo URLを標準( HTTPS )形式に変換する/compare/$1...$2" githubのパスは、
    私は、これからsedを適応させましたSO answer .

    シェルエイリアスを追加する


    コマンドがあるので、別名を加えましょう.両方とも同じですbash and zsh , シェル設定ファイルだけが異なります.
    bashでは、~/.bashrc . zshでは~.zshrc :
    ghcmp() {
        open "$(git config --get remote.origin.url | sed -E 's/:([^\/])/\/\1/g' | sed -e 's/git@/https:\/\//g' | sed -e 's/.git$//')/compare/$1...$2"
    }
    

    ...


    それは少し生産性のトリックは少しあなたの毎日のITのプロセスを簡素化することでした.
    コンテンツのこのタイプのような場合は、最新の更新プログラムをTwitterで行うことができます.