Git for Windows

Table of Contents

インストール

Git for Windows を Windows 10 Proにインストールし,Git Bashでバージョン管理します.コンパイルや実行は WSL の Ubuntu 18.04 LTSで行うことを想定します.従って,改行コードは常にLinux形式とします.この改行形式は初心者がはまる罠ですので,十分気をつけましょう.
Git for Windows をこちらからダウンロードし,通常のWindowsアプリと同様にダブルクリックでインストールを開始します.基本的にはデフォルトで構いませんが,最後の方に現れる改行コードに関する質問 Configuring line ending conversions では,以下の三つ目の選択肢をクリックしてください.これにより,常にLinuxの改行コードを維持したまま作業を行うことができます.

Checkout as-is, commit as-is

アップデートはGit Bash から次のように行います.利用可能な最新版があれば,Download and install Git for Windows 2.27.0 [N/y]? のように聞かれますので,y と入力します.ダウンロードが始まり,自動的にインストールされます.

$ git update-git-for-windows

日本語の表示

以下の手順で ls の際の日本語ファイル名が文字化けしないようにします.

regedit でレジストリエディターを開き,HKEY_CURRENT_USERConsoleGit Bash にある,FaceName の値を「*MS ゴシック」に変更します.もちろんカギ括弧はなしで,MSとゴシックの間に半角スペースがあります.

Git Bash の home directory において(普通は/c/Users/your_name/)

$ alias ls='ls --show-control-chars'

を含んだ .bashrc を作成し,Git Bash を再起動します.

初期設定

初めて Git を使うときに1回だけ以下を実行します.最初はエディタの設定で,オプションですが,使い慣れたものを設定しておくとcommitの際のコメント入力が楽になります.

git config --global core.editor "'/C/Program Files/Hidemaru/Hidemaru.exe' //fu8"
git config --global user.name "Jun Sasaki"
git config --global user.email "your@email.com"
git config --global core.quotepath false

リモートリポジトリから git clone する

適当なディレクトリにおいて,リモートリポジトリの Clone with SSH のアドレスをコピーし,以下のように実行します.

$ git clone git@gitlab.com:usename/project.git

現在のディレクトリの下に project ディレクトリが作成され,その中にコピーされます.

ローカルリポジトリを新規作成

リモートリポジトリから Clone するのではなく,ローカルリポジトリに初めてリポジトリを作成するには,バージョン管理を行いたいディレクトリへ移動後,以下を実行します.

$ git init

.git ディレクトリ(隠しディレクトリ)が作成され,設定ファイルやリポジトリデータが格納されます.

ファイル等をローカルリポジトリに登録

管理したいファイルを様々な方法で登録します.

サブディレクトリ内を含め,拡張子がFのファイルをすべて登録

$ git add *.F

サブディレクトリBIO_sourceに存在するファイルmakefileをインデックスに登録

$ git add BIO_source/makefile

サブディレクトリを含め,すべてのファイルをインデックスに登録

$ git add -A

ファイルをバージョン管理から外す(ファイルは残す)

$ git rm --cached test.F

インデックスへの登録状況を確認

$ git status

短縮表示には -s オプションを付ける

$ git status -s

ローカルリポジトリにコミット(反映)する

エディタが開くので,コメントを入力します.

$ git commit

コミットを取り消す

ファイル登録に漏れがある等で,コミットを取り消したり,指定した以前のコミットにリポジトリを戻す方法です.

直前のコミットを取り消す
コミットだけを取り消し,作業を継続したい場合は以下のようにします.

$ git reset --soft HEAD^

--soft は省略できます. --soft--hard に変更すると,インデックス・ワーキングツリーも1つ前のコミットに戻ります.すなわち,取り消すコミットの直前までの作業が失われ,前回コミットした直後の状態に戻ります.

過去のコミットの履歴を確認する
git reflog でコミットの状態を確認します.

$ git reflog

過去の指定したコミットの状態に戻る
git reflog で戻りたいコミットの HEAD@{2} のような番号を把握し,以下のようにします.--hard とすると,インデックス・ワーキングツリーも完全にそのときの状態に戻ります.

$ git reset --hard HEAD@{2}

リポジトリのファイル一覧表示

git ls-files

バージョン管理中のファイルの全変更をインデックスに登録し,コミット

ファイルの新規追加や削除はなく,ファイルの変更のみが対象です.

$ git add -u
$ git commit

次は上と同じで,インデックスへの登録を省略できます.

$ git commit -a

リモートリポジトリに反映させる(push)

ローカルリポジトリの変更等の内容をリモートリポジトリに反映させます.

$ git push

変更履歴を表示する

$ git log

v1.0というタグを付ける

$ git tag v1.0

タグを一覧表示

$ git tag

v1.0というタグを削除

$ git tag -d v1.0

タグv1.0をチェックアウト
オプション -f を付けると作業中でも強制的に切り替えます.

$ git checkout [-f] v1.0

ブランチの操作

新しく devel ブランチを作成
作成して現在のブランチに切り替えます.

$ git checkout -b devel

ブランチを一覧表示する
リモートリポジトリも含めて表示するには -a を付けます.現在のブランチに * が付きます.

$ git branch [-a]

存在するdevelブランチに切り替え

$ git checkout devel

masterブランチに切り替え

$ git checkout master

ブランチの情報を表示
すべてのブランチ情報を表示するには-aを付けます.

$ git show-branch [-a]

ブランチdevelを削除

$ git branch -d devel

Git for Windows” に対して1件のコメントがあります。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください