0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ごくふつうの人にも便利なGitを使おう レベル1〜

Last updated at Posted at 2025-07-09

はじめに

Gitは分散バージョン管理システム(DVCS)と呼ばれるソフトウェアのひとつである。
OSのひとつであるLinuxの開発・管理のために作られたもので、現代において一般的にはソフトウェア開発において広く使われている。

こうした背景もあって、Gitというのはプログラミングを行う者、それもやや深く踏み込んだ者のものという印象を持つ人も多い。
そして、一般に広く知られているとまでは言えないものだろう。

だが、そこに留めるには非常にもったいないものだ。
それ以前に使われていたSubversionあるいはCVSなどと違い、Gitは一般の人が日常的に使うのにも非常に適した便利なソフトウェアである。
私は特に 論文に悩む一般大学生にとてもおすすめしたい。

そこで本記事においては、ソフトウェア開発者ではない、ごく普通のパソコンユーザーがGitでコンピュータ生活を便利にする使い方をお教えしよう。

Gitでできること

歴史を記録する

Gitは現在の状態を歴史の中に記録することができる。

記録されたポイントは様々な形で利用できる。
例えば、現在の状態と歴史の地点との差分を比較することもできるし、編集してみたものの良い方向性ではなかったと思うのなら歴史の地点に戻してしまうこともできる。

また、文章を書いていて展開Aと展開Bが考えられどちらも捨てがたい……という場合は、歴史を分岐してAで展開した歴史とBで展開した歴史を作ることもできる。
もちろん、切り替えも可能だ。

バックアップ

Gitで歴史として記録されているものは復元できるため、間違ってファイルを消してしまったとしても1復元が可能だ。

Gitで管理しているものを「Gitリポジトリ」と言うが、リポジトリは複製ができる。
複製した場合は同期について考える必要が生じ、少し複雑になるが、より便利で扱いやすいバックアップ手段が増えると思えばいい。

複数台での運用

例えばデスクトップPCとラップトップPCを持っている人の場合、「家ではデスクトップで、外出中はラップトップで」という作業スタイルの人もいるだろう。

こうした複数台での運用・同期において、かなり利便性を向上させることができる。

複数人での作業

さらにGitはチームでの共同作業も支援してくれる。

ただし、Git単体で共同作業を行うためには原始的なルールの導入が必要になる。
一般的にはGitを共同作業で利用するのに適した機能を提供するソフトウェアやプラットフォーム2を組み合わせることになる。

一般的にGitが話題に出されるときはこの文脈で用いられることが多いが、Gitの用法としては基本からだいぶ離れた話になるため、本記事ではあまり触れない。

事前知識

ディレクトリ

本記事では「ディレクトリ」という言葉が出てくる。

これは、Windowsの場合はエクスプローラから見える「フォルダ」と同じものであると考えて良い。
(ただし、コレクションフォルダを除く)

リポジトリ

Gitが管理しているものを指す。

実体としては通常リポジトリの場合はディレクトリ内の.gitディレクトリ。
ベアリポジトリの場合は*.gitディレクトリ。

Gitの導入

Windows

Git For Windowsからダウンロードし、いつものようにウィザードでインストールする。

DownloadからはGitHubのReleaseにとばされて分かりづらいかもしれないが、スクロールダウンして "Assets" のところへ行く。

基本的に最新バージョンが並んでいるので、例えば最新バージョンが2.50.1だとしたら

Git-2.50.1-64-bit.exe

をダウンロードする。

-arm64はSurface Pro Xのようなタブレット系の端末向け(Windows on ARM環境)。32-bitは現代のまともなWindows環境では特に必要ない。MinGitmingwのような環境は今回の話の中では選択しないので気にしなくていい。

Information

ライセンスの説明。一般的な「自由な」ライセンスが用いられており、説明文になっている。Next.

Select Destination Location

インストール先。
こだわりがなければこのままNext.

Select Components

基本的にそのままでOK。
便利になるので全部にチェック入れてもOK。
逆にチェックを外すのはやめておこう。

Select Start Menu Folder

スタートメニューのフォルダの話。
このままNext.

Choosing the default editor used by Git

エディタの選択。Use Vimはちゃんと有効な設定なのだけど、普通の人にはちょっと難しい。
選択肢は色々あるけど、アプリをインストールしていれば使えるの話になってしまう。

Notepadを選びましょう

そこで

Use Notepad as Git's default editor

を選択すれば、Windowsのメモ帳を使って動作させることができるようになる。
基本的に、必要な時に勝手に立ち上がってくるので、編集したら保存して閉じればOK。
Next.

Adjusting the name of the initial branch in new repositories

強い思想やこだわりがないならこのままでOK。
Next.

Adjusting your PATH environment

基本的にはこのままでOK。
Gitをインストールする影響を最小限に抑えたいなら "Use Git from Git Bash only" にしてもいい。
Next.

Choosing HTTPS transport backend

基本的にこのままでOK。
Use the OpenSSL libraryはこだわりがある人向け3
Next.

Configure the line ending conversions

このままにする。変更するとめんどくさい。
Next.

Configuring the terminal emulator to use with Git Bash

これもこのままで良い。
"Use Windows' default console window" はだいぶ茨の道。
Next.

Choose the default behavior of git pull

これはかなり難しい話をされている。
けれど、実際の選択としてはこのままでOK。Next.

Choose a credential helper

このままNext.

Configuring extra options

"Enable symbolic links" すると使える機能は増えるけど、Windowsではそれ自体の制約がほかとちょっと違うので単純にら便利になるというわけではない。
チェックしてもいいけど、特にこの記事的には必要はない。

Mac

Macの場合、Gitは入っていたりいなかったり。

とりあえずターミナル4を開いてgitって打ってあとは流れで。

Linux

だいたい最初から入っている。

入っていなければお使いのLinuxのパッケージ管理システムで入れる。

使い方

Windows

エクスプローラで右クリック → "Git Bash Here"

で今いる場所でGitが使えるようになる。

Mac

Finderで右クリック → サービス → 「フォルダに新規ターミナル」

で今いる場所でGitが使えるようになる。

Linux

GNOME

右クリック → 「端末で開く」

nautilus-open-terminalが必要。
Ubuntuの場合は

sudo apt-get install nautilus-extension-gnome-terminal

Plasma

右クリック → 「ここでターミナルを開く」

Cinnamon

右クリック → 「端末で開く」

MATE

右クリック → 「端末で開く」

設定

Gitを使い始めるにあたり名前とeメールの設定が必要。

特に有効性は気にしなくていいので

git config --global user.email "namae@local"
git config --global user.name "なまえ"

とかでいい。

逆にemailに有効な値を入れる場合は、ホスティングサービスでの公開とかした場合にはeメールアドレスが漏れることに注意が必要。

はじめよう

まず、適当なディレクトリを作る。

どこでもいいしなんでもいいけれど、中に管理対象でないものは入れないこと。

ディレクトリを作ったら、その中に管理対象にしたいものを入れる。
直下ではなく、階層化してもOK。

まずは一度初期化しておく。
これは最初だけでいい。

git init

編集後、「この状態を記録しておきたい」と思ったら次のように2つのコマンドを順に実行する。

git add -A
git commit -m "こめんと"

コメントは今どういう状態かわかる内容を入れておくとあとで役に立つ。

活用する

歴史の確認

記録するだけだと嬉しさがわからないので、歴史を有効活用しよう。

git log

これで記録した歴史が表示される。

ちなみに、lessというプログラムを使って表示されるのでわかりにくいかもしれない。
spaceキーでページ送り、qで終了する。
だいたいの環境ではPgUp/PgDnも利用可能。

こんな感じの内容が表示される。

commit aa6e376b1934690d5140f3b1d0a0779aa8213e1d
Author: MASAKI Haruka <haruka@example.com>
Date:   Wed Jul 9 03:32:50 2025 +0900

    ものすごくすごい更新

commitのところにあるのが歴史のID。これは操作するときに必要になる。
コミットというのが、記録した歴史のポイントを意味している。

このコミットが一体なんなのか、というのは、Dateの値とコメントから推測しよう。

時を戻そう

歴史操作をしたい場合は、必ずgit commitしてからやること。

昔の歴史に一時的に戻りたい場合は次のようにする。

git checkout aa6e376b

さきほどのcommitの値はaa6e376b1934690d5140f3b1d0a0779aa8213e1dだったけれど、ほとんどの場合先頭8桁もあれば十分いける。なんなら、もっと短くできることもある。

現在の歴史の最先端に戻りたい場合は

git checkout HEAD

新たな歴史への分岐

現在いる場所から新しい歴史を始めたい場合は

git checkout -b newhistory

のようにして新しい歴史を始める。
このように枝分かれした歴史を「ブランチ」という。

newhistoryはブランチ名で、なんでもいいけれどアルファベットと数字とアンダースコア(_)とハイフン(-)くらいにしておくことを強くおすすめ。

ちなみに、ブランチは

git branch

で一覧できるし、

git checkout master

のように切り替えることもできる。

ただし、必ずgit commitしてから!

時を完全に戻そう

「この歴史は完全に誤りだった……死に戻りしたい……」と思っているのであれば

git reset --hard aa6e376b

のようにしてそれ以降を完全になかったことにして巻き戻してしまうこともできる。

ただし、実際はブランチにすれば十分なことがほとんどだし、かなり危険な操作なので基本的には使わないのがおすすめ。

もっと活用

比較

なにをどう変更したかを確認する機能としてdiffがある。

単純に使うと、最後にコミットした状態と現在手元の状態を比較する。

git diff

1つ前のコミットと比較したい場合はこう

git diff 'HEAD^'

比較対象はブランチでもいい。
この場合、現在の状態と指定したブランチの比較になる。

git diff master

ただ基本的に、これはテキストファイルでないと有効に働かない。

せっかくなので、テキストベースのフォーマット5を中心に使うようにするとさらに有効に活用できる。

統合

例えばブランチaとブランチbで2つの未来を作ったけど、その結果aのほうがよかったからaを正史にしたい、と考えた場合、もとの歴史にaの歴史を統合することができる。

Gitでは今のところ正史となるブランチはmasterだけれど、いろんなところでmainにする動きが広がっていたりするので、

git branch

して確認すること。

そして、統合される側であるブランチmasterに移動する

git checkout master

統合するブランチを指定してマージ。

git merge a

これで統合できる。

ただし注意点として、基本的に最新から分岐した状態のものを取り込むようにしたほうがいい。
そうでないと両方の歴史が進行してタイムパラドックス的な感じで競合が発生することがある。
これは解消することは可能なのだけれど、割と難しいので、最初から問題が発生しないような運用を徹底したほうが楽。

競合の解消は、基本的に解消に適したツールを使って行ったほうが良いので、話がだいぶ複雑になる。

バックアップ

復元

ファイルを誤って消してしまったり、間違った変更をしてしまった場合、コミットから復元することができる。

git restore foofile.txt

このファイルの指定は現在の位置からの相対。
今いるところのfoofile.txtが対象ならfoofile.txtでいいし、fooディレクトリの中にあるfoofile.txtならfoo/foofile.txtになる。

複製

Gitのリポジトリはいくらでも複製でき、複製した側は「どこから複製したか」は覚えているけれど、それ以外は特に違いがない。

これを使ってリポジトリ丸ごと簡単にバックアップできる。
複製したリポジトリを置きたい場所で開き、こんな感じで行う。

git clone ~/path/to/repo

WindowsユーザーがGit Bash hereした場合は少し複雑になる。

例えばC:\Users\haruka\Documents\fooreposがもとのリポジトリだとする。
(これは、harukaユーザーのマイドキュメント直下にfooreposをリポジトリとして置いている状態。)

その場合、こうなる

git clone /c/Users/haruka/Documents/foorepos

\/に変わっていること、C:\/になることに注意が必要。

このようにして複製したリポジトリはそれぞれが別の存在で自動では同期されない。
バックアップ目的で同期したい場合は、もっとも安全なのは*作業自体は常に複製されたオリジナルのほうで行い、*複製した側で次のようにして更新を取得すること。

git pull

次の記事

ごくふつうの人にも便利なGitを使おう レベル15〜

解説記事

Qiitaに掲載したGit記事の裏話と、ちゃんとした説明 @Chienomi

  1. ファイルを消す分には大丈夫だが、Gitのフォルダもろとも消してしまった場合は取り戻せない。だが、Gitリポジトリは複製できるので、この場合の回避方法もとりやすくなるということである。

  2. 有名なのはGitHub.

  3. 私は昔はOpenSSL使っていたけれど、最近は困らなくなったのでWindowsのにしている

  4. ⌘+SpaceでSpotlight開いて "terminal"

  5. .txtのほか、.json, .yaml, .csv, .tsvなどのデータフォーマット、.md, .rst, .htmlのような文書フォーマットなどが便利。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?