Git for Windows
インストール
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_USER の Console の Git 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件のコメントがあります。