git

ソースコードを管理するgitのコマンドです。GUIからでも便利ですが、コマンドを覚えるとさらに便利で、早いです。

gitについてはネット上で使い方がたくさん紹介されているので、ここでは自分が使うコマンドを中心に書いていこうと思います。

NAME
       git - the stupid content tracker

SYNOPSIS
       git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           [--super-prefix=<path>]
           <command> [<args>]

github

  • githubのjupyter notebook形式のファイルはこちら

google colaboratory

  • google colaboratory で実行する場合はこちら

環境

筆者のOSはmacOSです。LinuxやUnixのコマンドとはオプションが異なります。

実際に動かす際は先頭の!や先頭行の%%bashは無視してください。

!sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.6
BuildVersion:	18G2022
!bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
Copyright (C) 2007 Free Software Foundation, Inc.

使用例

よく利用しているコマンドの組み合わせと共に紹介します。

[git add] ファイルの差分をインデックスに追加する

!git add -h
usage: git add [<options>] [--] <pathspec>...

    -n, --dry-run         dry run
    -v, --verbose         be verbose

    -i, --interactive     interactive picking
    -p, --patch           select hunks interactively
    -e, --edit            edit current diff and apply
    -f, --force           allow adding otherwise ignored files
    -u, --update          update tracked files
    --renormalize         renormalize EOL of tracked files (implies -u)
    -N, --intent-to-add   record only the fact that the path will be added later
    -A, --all             add changes from all tracked and untracked files
    --ignore-removal      ignore paths removed in the working tree (same as --no-all)
    --refresh             don't add, only refresh the index
    --ignore-errors       just skip files which cannot be added because of errors
    --ignore-missing      check if - even missing - files are ignored in dry run
    --chmod (+|-)x        override the executable bit of the listed files

[git status] 現在の状態を確認する

git status

備忘録

よく使うが、ついつい忘れてしまうコマンドです。コードレビューの時など良く利用します。

ブランチ間のdiff

これでデフォルト設定しているvimdiffでdiffをチェックできます。.gitconfigでdiffのデフォルトをvimdiffに設定する必要があります。

git difftool branchA branchB

コミット間の差分(ファイル名のみ)

コミットIDを指定して、ファイルの差分をチェック

git diff --stat shaA shaB

コミット間の差分(各ファイル)

vimdiffで差分が見れるのは本当に便利

git difftool -y shaA shaB -- <FILE NAME>