お知らせ

次の項目は別ページに分割しました。

Git for Windows

公式サイト:

Git for Windows [Official]

ダウンロード

入手:

Downloads | Git [公式]

インストール

コンポーネント

「Select Components」 → 必要なコンポーネントを選択する。

  • Additional iconsアイコンを追加する
    • On the Desktopデスクトップにアイコンを作成する
  • Windows Explorer integrationエクスプローラーを拡張する
    • Git Bash Hereこのディレクトリで Git Bash を開始する
    • Git GUI Hereこのディレクトリで Git GUI を開始する
  • Git LFS (Large File Support)
  • Associate .git* configuration files with the default text editorGit 用設定ファイル (.git*) を既定のテキストエディターに関連付ける。
  • Associate .sh files to be run with Bashシェルスクリプト (.sh) を Bash に関連付ける。
  • Check daily for Git for Windows updatesGit for Windows の更新を毎日確認する。
  • Add a Git Bash Profile to Windows TerminalGit Bash 用プロファイルを Windows Terminal に追加する。
既定のテキストエディター

「Choosing the default editor used by Git」 → Git が使用する既定のエディタを選択する。

  • the Nano editor
  • Vim
  • Notepad++
  • Visual Studio Code
  • Visual Studio Code Insiders
  • Sublime Text
  • Atom
  • VSCodium
  • Notepad
  • Wordpad
  • other editor
初期ブランチ名

「Adjusting the name of the initial branch in new repositories」 → 初期ブランチ名を設定する。

  • Let Git decidemaster を使用する。(デフォルト)
  • Override the default branch name for new repositories指定した名前を使用する。
パスの設定

「Adjusting your PATH environment」 → 環境変数で PATH を設定する。

  • Use Git from Git Bash onlyGit Bash のみで使用する。
  • Git from the command line and also from 3rd-party softwareGit をコマンドプロンプトから実行できるように最小限の PATH を追加する。(推奨)
  • Use Git and optional Unix tools from the Command PromptGit 及び、追加の UNIX ツールをコマンドプロンプトで使用する。(※ findsort など、Windows 標準コマンドより UNIX ツールが優先されるようになるので注意!!)
SSH コマンド

「Choosing the SSH executable」 → 使用する SSH クライアント実行ファイルを選択する。

  • Use bundled OpenSSHインストールに付属する ssh.exe を使用する。(デフォルト)
  • Use external OpenSSHPATH から探して使用する。
HTTPS 通信ライブラリ

「Choosing HTTPS transport backend」 → HTTPS 通信に使用するライブラリを選択する。

  • Use the OpenSSL libraryOpenSSL ライブラリを使用する。(デフォルト)
  • Use the native Windows Secure Channel libraryWindows の証明書ライブラリを使用する。(独自のルート CA 認証を Windows に追加して使用する場合などはこちらを選択する。)
改行コード

「Configure the line ending conversions」 → 改行コードの取り扱いを選択する。

  • Checkout Windows-style, commit Unix-style line endingsチェックアウト時にテキスト形式のファイルに含まれる改行コードを CRLF に変換し、コミット時に LF に変換する。(標準的な Windows 環境で推奨される設定であるが、ローカルで Docker や WSL などの UNIX ライク環境を動かす場合に、改行コードに起因する不具合が発生する可能性がある。また、ローカルファイルに CRLF が含まれるようになるため、ローカルで UNIX ライク環境向けのパッケージをビルドする場合には適さない。)
  • Checkout as-is, commit Unix-style line endingsチェックアウト時はそのままにしておき、コミット時には UNIX 形式に変換する。コミット時にテキスト形式のファイルにおける CRLF を LF に変換する。クロスプラットフォーム開発用リポジトリにプッシュするテキストファイルへの CRLF 混入が避けられる。
  • Checkout as-is, commit as-isチェックアウト時及びコミット時に改行コードの変換を行わない。(クロスプラットフォーム開発用リポジトリを利用する際に、テキストエディタで適切に改行コードを LF に変換して保存する環境を構築している場合はこちらでもよい。)
コンソール

「Configuring the terminal emulator to use with Git Bash」 → Git Bash で使用するターミナルを選択する。

  • Use MinTTY / the default terminal of MSYS2MSYS2 標準の MinTTY コンソールを使用する。
  • Use Windows’ default console windowWindows 標準のコマンドプロンプトを使う。(cmd.exe)
プルコマンドの挙動 (git pull)

「Choose the default behavior of `git pull`」 → git pull コマンドの既定の動作を選択する。

  • Default (fast-foward or merge)可能であれば現在のブランチをフェッチしたブランチにファストフォワードでマージする。ファストフォワードマージができない場合はマージコミットを作成する。
  • Rebase現在のブランチをフェッチしたブランチにリベースする。ローカルコミットがない場合はファストフォワードマージと同等の動作となる。
  • Only ever fast-forwardフェッチしたブランチにファストフォワードマージを実行する。ファストフォワードマージできない場合は失敗した旨が報告される。
認証情報 (Credential Helper)

「Choose a credential helper」 → 認証情報マネージャーを選択する。

  • Git Credential Manager認証情報を Windows の資格情報マネージャーに保存できるようにする。
  • None認証情報を保存しない。
その他

「Configuring extra options」 → その他のオプションを設定する。

  • Enable file system cachingfscache によるファイルキャッシュを有効にする。(デフォルト有効)
  • Enable symbolic linksシンボリックリンクを有効にする。(デフォルト無効)
実験的な補助機能

「Configuring experimental options」 → 実験的な補助機能を設定する。

  • Enable experimental support for pseudo consolesGit Bash 用のマンドプロンプトから winpty を使わずに Node や Python を実行できるようになる。(実験的な補助機能のため、既知のバグが含まれる。)
  • Enable experimental built-in file system monitor組み込みのファイル監視を使用する。ワーキングツリーに多くファイルが含まれる場合に Git コマンドの実行が高速化される。

参考:

自分用 Git for Windows のインストール手順 – Qiita

私家版 Git for Windows のインストール手順 | OPCDiary

Git のインストール方法をわかり易く解説 | エンジニアの入り口

Git のインストールと起動方法 – Qiita

Git for Windows で Windows に Git をインストールする手順 | Syntax Error.

いまさら Git for Windows のインストール、GitHub に接続してみた – Qiita

Windows に Git をインストールする方法 | プロエンジニア

Windows 10 に Git をインストール | Hello.

Git をインストールしてみた | たくメモ

設定ファイル (gitconfig)

システム

システム領域にインストールした場合

C:\Program Files\Git\etc\gitconfig

ユーザー領域にインストールした場合

C:\Users\[User Name]\AppData\Local\Programs\Git\etc\gitconfig
グローバル

ユーザー毎の設定

C:\Users\[User Name]\.gitconfig
ローカル

リポジトリ毎の設定

.git/config

参考:

Git for Windows の gitconfig ファイルのインストール場所と初期値について | iPentec

Git for Windows の設定ファイルの場所 – Qiita

Git for Windows の設定ファイルの場所 | ぱそまき

Git for Windows の設定ファイルを編集する | ぱそまき

Git for Windows でアカウントをワーキングディレクトリで切り替える | It works for me

Changing .gitconfig location on Windows – Stack Overflow

改行コードの設定

  • core.autocrlf の設定
  • .gitattributes ファイルを設置する

参考:

Git での改行コード – Qiita

Git の改行コード自動変換でハマッた話/Windows でも LF でチェックアウトする方法 – Qiita

気をつけて!Git for Windows における改行コード – Qiita

Windows 環境の Git で改行コードの自動変換に注意 – Qiita

core.autocrlf – git-config | Git Documentation [Official]

End-of-Line Conversion – gitattributes | Git Documentation [Official]

How to change line-ending settings – Stack Overflow

How do I force git to use LF instead of CR+LF under windows? – Stack Overflow

Best practices for cross platform git config? – Stack Overflow

アップデートする

コマンドプロンプトで次のコマンドを実行すると、最新バージョンのインストーラがダウンロードされて実行される。

>git update-git-for-windows

参考:

Git for Windows を簡単に更新する方法 | 株式会社シーポイントラボ

Git for Windows のバージョンアップ | エンジニ屋

Git をアップデートする – Qiita

インストール済みの Git をアップデートする | かずさプログラマーの雑記帳

SSH Agent を使う

前提

Git の設定に SSH コマンドを追加する。

$ git config --global core.sshCommand "C:/Program\\ Files/Git/usr/bin/ssh.exe"
手順

SSH キーを生成して GitHub に登録し、SSH Agent を使用して Git コマンドでリポジトリをプッシュする。

  1. ssh-keygen コマンドを使って Ed25519 鍵のペアを生成する。
    $ ssh-keygen -t ed25519 -C "user@example.com" -f ~/.ssh/github_ed25519
  2. GitHub のサイトをブラウザで開き、「Settings > SSH and GPG keys 」にアクセスして「New SSH key」ボタンを押して SSH キーの登録ページを開く。「Title」欄に SSH キーを識別する名称を入力し、「Key」欄に github_deed_ed25519.pub の内容を貼り付けて、「Add SSH Key」を実行する。
  3. SSH Agent を Bash 内で起動する。
    $ eval `ssh-agent -s`
  4. SSH Agent に SSH キーを登録する。
    $ ssh-add ~/.ssh/github_deed_ed25519
  5. Git コマンドでリポジトリをプッシュする。
    $ git push -u origin master

参考:

Win32-OpenSSH update in Windows · Issue #1693 · PowerShell/Win32-OpenSSH – GitHub

comment (shiftkey) – Desktop does not use OpenSSH on Windows if running, favours embedded SSH · Issue #5641 · desktop/desktop

`ssh-add -l` returning “Error connecting to agent: Bad file file descriptor” – Atlassian Community

ssh-add works until git fetch (Error connecting to agent: Bad file descriptor) – Stack Overflow

Adding SSH keys to SSH Agent in Git Windows – Stack Overflow

シンボリックリンクの扱い

シンボリックリンクを含むリポジトリをクローンする前に、シンボリックリンクを使用可能にする。

  • 「Git for Windows」のインストール時に「Enable Symbolic Links」を有効にする。
  • Windows 10 の設定で、「開発者向け > 開発者向け機能を使う」において「開発者モード」を選択する。

インストール後に設定を変更する場合は、次のコマンドを実行する。

$ git config --global core.symlinks=true

リンク:

Symlinks in Windows 10! | Windows Developer Blog [Official]

参考:

Git for Windows でシンボリックリンクを扱えるようにする – Qiita

Git へ移行して、シンボリックリンクにはまったお話/Users にシンボリックリンク作成権限を付与するまで | エンジニアの階段

シンボリックリンクを利用する | rcmdnk’s blog

Symbolic Links · git-for-windows/git Wiki – GitHub

Symlink support by kblees · Pull Request #156 · git-for-windows/git – GitHub

fails to create symbolic links – Stack Overflow

symbolic links on Windows – GitHub Support Community

symbolic links in Windows – Stack Overflow

Git Bash

こちらのページを参照

参考:

Windows で Git を始めたらまず確認! Git Bash の設定 & ショートカット | 株式会社グランフェアズ

Git Bash の使い方!設定方法も初心者向けにくわしく解説! | Appli World

Git Bash に環境変数を追加する – Qiita

Git for Windows でシェルスクリプトが動かなくなった | Seaoak’s READ

Extend $PATH variable in git bash under Windows – Stack Overflow

How can I find out the command line options for git-bash.exe? – Super User

Git Wrapper

ドキュメント:

Git Wrapper · git-for-windows/git Wiki – GitHub

コード:

git-wrapper.c – git-for-windows/MINGW-packages – GitHub

MinTTY

リポジトリ:

mintty/mintty: The Cygwin Terminal – terminal emulator for Cygwin, MSYS, and WSL – GitHub

参考:

快適に Git Bash とターミナル (MinTTY) を使うために色とフォントを変える – Qiita

MinTTY for Git for Windows

リポジトリ:

rpavlik/git-windows-mintty: An Installer to Provide a MinTTY Context-Menu Option for Git Bash – GitHub

参考:

Git for Windows な環境に MinTTY を入れた | Zopfcode

WinPTY

参考:

Git Bash で Python / Node.js / Docker が上手く動かない場合は WinPTY を設定する | Neo’s World

Windows Terminal

参考:

Windows Terminal で Git Bash を表示する – Qiita

ConPTY

Git for Windows v2.27.0 から Windows 仮想コンソール (ConPTY) を使用するオプションが設定された。winpty を介することなく Node や Python を実行することができるようになる。(新機能のため、既知のバグを含む。)

ドキュメント:

Release Git for Windows v2.27.0 – GitHub

Known issues – Git for Windows v2.27.0 Release Notes – GitHub

リンク:

Introducing the Windows Pseudo Console (ConPTY) | Microsoft Dev Blogs

参考:

Git for Windows v2.27.0 | OPCDiary

WSL との違い

ドキュメント:

WSL で Git の使用を開始する | Microsoft Learn [公式]

参考:

Git Bash and WSL have a different directory structure – Super User

仕組み

参考:

Technical Overview · git-for-windows/git Wiki – GitHub

git-sh-setup

現象:

git-sh-setup が見つからない旨のエラーが発生する。

git-sh-setup: file not found

対処法:

C:\Program Files\Git\mingw64\libexec\git-core にパスを通す。

参考:

How to fix “git-sh-setup: file not found” in windows? – Stack Overflow

リリースノート

ReleaseNotes.md – git-for-windows/build-extra – GitHub

ドキュメント

Git のインストール | Pro Git book [公式]

リポジトリ

git-for-windows/git: A fork of Git containing Windows-specific patches – GitHub

Git Credential Manager

リポジトリ:

GitCredentialManager/git-credential-manager: Secure, Cross-Platform Git Credential Storage with Authentication to GitHub, Azure Repos, and Other Popular Git Hosting Services – GitHub

ドキュメント:

Git Credential Manager のセットアップ | Microsoft Learn [公式]

Install instructions – GitHub

Web Account Manager integration – GitHub

Git SDK for x64

リポジトリ:

git-for-windows/git-sdk-64: A Git Repository Mirroring the Current 64-bit Git for Windows SDK – GitHub

ドキュメント:

git-bash.txt – GitHub

参考:

Can we use this version to use another shell in VS Code? · Issue #17 · git-for-windows/git-sdk-64 – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA