21 ポイント 投稿者 ironlung 2023-10-30 | まだコメントはありません。 | WhatsAppで共有
  • コミット比較、古いブランチの削除、aliasの作成で時間を節約する方法を見ていく
  1. Git aliases
    • 日常的に使うコマンドにalias(別名)を作って、ターミナルでの作業時間を節約
    • 例: git checkout master と入力する代わりに co master と入力
    • ~/.gitconfig ファイルを直接編集してコマンドを編集または追加
  2. コマンドプロンプトでリポジトリの状態を確認
    • リポジトリの状態を見るには git-prompt.sh を実行
    • Linuxを使っていて、パッケージマネージャーと一緒にGitをインストールしたなら、すでに /etc/bash_completion.d/ ディレクトリに存在する場合がある
  3. コマンドラインでコミットを比較する
    • git diff コマンドを使って、同じファイルのバージョン間またはコミット間の差分を比較
    • より視覚的なツールでdiff比較をしたいなら git difftool を使える
      • Meld: diffを視覚的に比較するのに便利なビューア/エディタ
  4. コミットしていない変更をstashする
    • 未完了の機能をコミットしたくなく、現在の変更内容をそのまま保管しておきたいときは git stash コマンドで変更を一時的に退避
    • 修正作業を終えて前の変更に戻るには $ git stash pop を実行
  5. こまめにpullする
    • GitLab Flowを使う場合、機能ブランチで新しい作業を行う
    • 機能の実装にかかる時間によっては、masterブランチに複数の変更が入ることがある
    • コードの衝突が大きくなるのを避けるには、早めに衝突を回避し、ブランチをmasterへ簡単にmergeできるよう、masterブランチから作業ブランチへ変更を頻繁に取り込むべき
  6. コマンド自動補完
    • 自動補完スクリプトを使えば、bash、tcsh、zshでコマンドを簡単かつ素早く使える
    • git pull と入力するには git p のように最初の文字だけ入力してtabを押す
    • 使えるすべてのコマンドを表示するには、ターミナルで git と入力してから tab+tab を押せばよい
  7. グローバル .gitignore を設定する
    • .DS_Store や Vim の swp のようなファイルをコミットしたくないなら、グローバル .gitignore ファイルで設定できる
  8. Gitのautosquash機能をデフォルト設定として使う
    • Autosquashを使うと、対話的rebase中にコミットをより簡単にsquashできる
    • git rebase -i —autosquash のようにrebaseのたびに有効化することもできるが、デフォルトでオンにしておくほうが便利
  9. fetch/pull時にリモートで削除された内容をローカルブランチから削除する
    • リモートリポジトリで消えたブランチがローカルリポジトリにそのまま残っていることがある
    • fetch/pullのたびに消すには $ git config —global fetch.prune true
  10. Git blameをより効率的に使う
    • Git blameは、ファイルのどの行を誰が変更したかを突き止める
    • オプション
      • $ git blame -w # 空白を無視する
      • $ git blame -M # テキストの移動を無視する
      • $ git blame -C # 他ファイルへのテキスト移動を無視する
  11. aliasを追加してmerge requestをローカルにチェックアウトする
    • merge requestには、リポジトリのすべての履歴と、MRに関連するブランチへ追加されたコミットが含まれる
    • ソースプロジェクトがターゲットプロジェクトのforkである場合、公開されたmerge requestをローカルにチェックアウトできる
  12. HEADのalias
    • @ はHEADと同じ。rebase時に使うと作業がずっと楽になる
  13. ファイルを元に戻す(reset)
    • コードを修正していて、すでに加えた変更に問題があると気づいたら、ファイルを元に戻す必要がある
    • 修正したすべての項目でundoをクリックする代わりに、そのブランチのHEADへファイルをresetできる
      • 例) $ git reset —hard HEAD
    • 1つのファイルだけを元に戻すには、次のコマンドを実行
      • 例) $ git checkout HEAD — path/to/file
  14. git-openプラグイン
    • 使っているリポジトリをホスティングしているWebサイトへ素早くアクセスしたいなら git-open を使える
  15. git-extrasプラグイン
    • より多くのコマンドを使ってGitの使い勝手を高めたいなら git-extras プラグインを使う
    • git info(リポジトリ情報の表示)、git effort(ファイルごとのコミット数)が提供される

まだコメントはありません。

まだコメントはありません。