SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windowsユーザー向けGit入門

Git Extensionsからリポジトリを操作する

Windowsユーザー向けGit入門(3)

無視ファイルの追加

 コミット前に無視ファイルを追加しましょう。[作業ディレクトリの変更点]ボタンをクリックするとプルダウンメニューが表示されるので、[無視されたファイルを編集する]を選択します(図7)。

図5:無視ファイルの追加
図5:無視ファイルの追加

 .gitignoreの編集ダイアログが表示されます。左下の[デフォルトの無視ファイルを追加]ボタンをクリックすると、Windowsで必要な無視するファイルやフォルダが自動で追加されるので、[保存]ボタンをクリックします(図6)。

図6:.gitignoreの編集ダイアログ
図6:.gitignoreの編集ダイアログ

 さて無視ファイル(.gitignore)の書式ですが、1行に1つずつ無視させたいファイルやフォルダのパターンを書いていきます。#で始まる行はコメントです。ワイルドカードを使用した特定のサフィックスを持つファイルを一括で無視することもできます。

 参考までに、「GitHubのページ」でさまざまなパターンが配布されています。

ステージングエリアへの登録とコミット

 無視ファイルが追加されると、binフォルダが作業ディレクトリペインから見えなくなり、登録に必要なファイルだけが表示された状態になります。これらをステージに登録するには、下矢印ボタンをクリックします。1つ矢印は選択されたファイルのみ、二重矢印は変更があったファイルすべてを登録できます。ここでは、下二重矢印ボタンをクリックすると、未追跡のファイルが作業ディレクトリからステージングエリアへすべて登録されます(図7)。これは、git addコマンドに相当する操作です。

図7:ステージングエリアヘ登録
図7:ステージングエリアヘ登録

 最後に、ステージングエリアにコミットしたいファイルが登録したら、右下のテキストボックスにコミットログを入力し、[コミット]ボタンをクリックすれば完了です。

 これが、リポジトリの作成から初期コミットまでの一連の流れです。統合された環境によって、多数修正ファイルがあった場合にも、細かくステージング、コミットと作業することができます。また差分なども表示されるため、より作業を効率的に進めることができるのが、GUI操作でのメリットです。

リポジトリへの統合的な操作

 リポジトリに対しての操作や情報などは、Git Extensionsのリポジトリブラウザを利用します。リポジトリフォルダのコンテキストメニューから[GitEx Browse]を選択すると、リポジトリブラウザが起動します。

 メインメニューからはリポジトリへの各種操作が可能です。

 上ペインでは、現在のリポジトリの履歴を確認できます。上記の例では、初期コミットから3回更新があったことが確認できます。それぞれのログを選択すると、その時の状態を下部ペインのタブから、コミット時のファイルツリーや、差分を確認できます(図7)。

図8:リポジトリブラウザ
図8:リポジトリブラウザ

作業時のよくある操作

 ここでは前回説明しなかった、よくある操作についてフォローします。

ステージングエリアへの登録を取り消す

 先ほどGUIでは、ボタン1つでステージングエリアに登録されたファイルを元に戻すことができましたが、ここではCUIで取り消す方法を説明します。サジェスチョンにも表示されているとおり、取り消すためにはgit resetコマンドを利用します(リスト1)。

[リスト1]ステージングエリアの登録を取り消す
$ git status                            // リポジトリの状態を表示
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   Program.cs
#
moris@BALTHASAR /c/repository/sample (master)
$ git reset HEAD Program.cs         // ファイルを指定してステージを取り消す
Unstaged changes after reset:
M       Program.cs
moris@BALTHASAR /c/repository/sample (master)

$ git status                            // リポジトリの状態を表示
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Program.cs
#
no changes added to commit (use "git add" and/or "git commit -a")
moris@BALTHASAR /c/repository/sample (master)

 git resetコマンドはリポジトリの状態を戻すためのコマンドで、引数によってさまざまな動きをします。詳細な説明は割愛しますが、ステージに登録されたファイルを最新のコミットに戻すことを意味しています。HEAD(※1)は現在のブランチの最新コミットを表しています

※1)

 SVNのHEADとは意味が異なることに注意してください。HEADについてはブランチの解説部分で説明します。

[メモ1]

 正確には、git reset --mixed HEAD ファイル名 ですが、--mixed 、HEADオプションは省略時の既定値であるためgit resetファイル名でも同義になります。

次のページ
まとめ

この記事は参考になりましたか?

Windowsユーザー向けGit入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト statemachine(statemachine)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7203 2013/06/27 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー