Gitのお勉強

📢 この記事は gemini-3-flash-preview によって翻訳されました

今まで学んだ Git 関連の内容を整理してみようかな。

一、インストール

  • Windows に Git をインストールする

Git の公式サイトからダウンロードしてインストールしてね: https://git-scm.com/download/win

インストールが終わったら、一度 Git Bash を実行しておこう。

  • Linux に Git をインストールする

Debian:sudo apt-get install git

Fedora:dnf install git

CentOS:yum install git

その他はここを参考にして: https://git-scm.com/download/linux

  • Mac OS X に Git をインストールする

一つ目は homebrew をインストールして、そこから Git を入れる方法。詳しいやり方は homebrew のドキュメントを見てね: http://brew.sh/

二つ目は AppStore から直接 Xcode をインストールする方法。Xcode には Git が内蔵されているけど、デフォルトではインストールされていないから、Xcode を起動してメニューの Xcode - Preferences から Downloads を探して Command Line ToolsInstall をクリックすれば完了だよ。

Xcode は Apple 公式の IDE で、めちゃくちゃ多機能。Mac や iOS アプリ開発には必須のツールだし、しかも無料だよ。

二、設定

インストールが終わったら、自分のユーザー情報を設定する必要があるよ。

1
2
git config --global user.name "Your Name"
git config --global user.email "[email protected]"

Your Name は自分の名前に、email@example は自分のメールアドレスに書き換えてね。

三、リポジトリの作成

新しい Git リポジトリを作るには、ローカルで作るか、リモートリポジトリからクローンするかのどっちかだよ。

ローカルリポジトリ

フォルダを選んで、このコマンドを実行して。

1
git init

これでそのフォルダが Git で管理できるリポジトリになるよ。 ./.git フォルダの中身(普通は隠しファイル)は Git がバージョン管理に使うものだから、むやみにいじらないようにね。

自分のリポジトリをクローンする

個人の設定で SSH 公開鍵を追加してね: SSH and GPG keys 。そうすれば SSH で直接クローンできるようになるよ。例えばこんな感じ。

1
git clone [email protected]:yexca/typecho-theme-book.git

修正が必要なリポジトリをクローンする

リポジトリのオーナーに共同作業者として招待されたり、自分の鍵をリポジトリの Deploy keys に追加してもらえれば、そのリポジトリの編集権限がもらえるよ。その時は SSH でクローンして、修正してコミットすればOK。例えばこんな感じ。

1
git clone [email protected]:yexca/typecho-theme-book.git

誰かのリポジトリに貢献する

こういう時は大体、まず fork して、ローカルで直してから Pull request を送るんだ。詳しくはここを参考にしてね。

如何使用 github 给大佬递茶 - idealclover

GitHub で最初の pull request を送る方法

権限のないリポジトリをクローンする

HTTPS でクローンすればいいよ。例えばこんな感じ。

1
git clone https://github.com/yexca/typecho-theme-book.git

リポジトリのリンクは リポジトリのページ にアクセスして、 Code ボタンを押せば確認できるよ。

四、ファイルのコミット

いろいろ作業してファイルが増えたら、リポジトリにコミットしよう。

ファイルをローカルリポジトリに追加するよ。

1
2
3
git add filename
# または、修正したすべてのファイルを追加する場合
git add .

追加が終わったらコミットだ。

1
git commit -m "some details"

some details の部分に、今回のコミットで何をしたかを書くんだよ。

コミット規約

コミットメッセージは自由に書けるけど、ある程度のルール(規約)に従ったほうがいいよ。よく使われるのはこんな感じ。

接頭辞適用シーン
feat新機能の導入(例えば、新しくアイコンアップロードのAPIを書いた時など)
fixバグ修正
refactorコードのリファクタリング(バグ修正でも新機能追加でもない書き直し)
chore雑用。 .gitignore の修正や、ライブラリのバージョン更新など
docsドキュメントのみの変更(README, JavaDoc など)

接頭辞の後に、具体的にどのモジュールを直したか書くこともあるよ。例えばこんな感じ。

1
git commit -m "refactor(OSS): replace Aliyun OSS with AWS S3 SDK"

ファイルを無視する

リポジトリに入れたくないファイル、つまり Git に変更を追跡させたくないファイルがあるなら、 .gitignore ファイルを作って、そこにファイル名を1行ずつ書けばいいよ。

1
2
3
4
5
# .gitignore ファイル
test/    # test フォルダを無視
test    # test ファイルを無視
*.py[cod]    # *.pyc *.pyo *.pyd ファイルを無視
!app.pyc    # app.pyc ファイルは無視しない

無視設定していても git add -f test.pyc で強制的に追加することもできるよ。

既存のテンプレートもあるから参考にしてみて: https://github.com/github/gitignore

.gitignore ファイルを修正して反映させたいときは、一度キャッシュを消す必要があるよ。

1
2
3
4
5
6
# キャッシュを削除
git rm -r --cached .
# ファイルを再度スキャン
git add .
# コミット
git commit -m "update .gitignore"

五、ログと取り消し

git status でリポジトリの状態を確認できるよ。

git diff で前回のコミットからの変更点を確認できるよ。

git log で履歴(ログ)を確認できるよ。情報が多すぎるときは --pretty=oneline をつけると commit ID が見やすくなるよ。

commit ID の後に HEAD -> master とあれば、それが最新のコミット、つまり今のバージョン。Git では HEAD で今のバージョンを表して、一つ前は HEAD^、二つ前は HEAD^^、60個前なら HEAD~60 って書くんだ。

一つ前のバージョンに戻す: git reset --hard HEAD^

指定したバージョンに戻す:

1
2
3
4
git reset --hard commitID
# 例えば commit ID が eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 なら、こう書けるよ:
git reset --hard eaadf4
# 最初の数文字だけで識別できれば大丈夫。全部書く必要はないよ。

もし間違えて戻しすぎちゃっても、コマンドラインの画面は閉じないで! git reflog でコマンド履歴を見て、さっきのバージョン番号を探して戻せばいいから。

六、リモートへのプッシュ

コードをリモートリポジトリに送るには、まず紐付けが必要だよ。でもリモートからクローンした場合は最初から紐付いてるから、何もしなくて大丈夫。

リモートリポジトリと紐付ける

ローカルでリポジトリを作って GitHub に上げたいときは、GitHub で新しい repo を作ってから、ローカルリポジトリと紐付けよう。

1
git remote add origin [email protected]:[your repo]

コードをプッシュする

push コマンドを使って送信するよ。例えばこんな感じ。

1
git push origin master

これはリモートリポジトリの master ブランチにプッシュするっていう意味だよ。

ブランチ名の変更

ここで注意してほしいのは、Git で作ったリポジトリのデフォルトブランチ名は master だけど、GitHub は main なんだ。GitHub に合わせたいなら、ローカルのブランチ名を変えちゃおう。

1
git branch -m master main

最初からデフォルトのブランチ名を main に設定しておくこともできるよ。

1
git config --global init.defaultBranch main

デフォルトのブランチ

あと、デフォルトの送信先を origin の main ブランチに設定しておくこともできるよ。

1
git push --set-upstream origin main

こうしておけば、次からはこれだけで済むんだ。

1
git push origin

紐付けのやり直し

このコマンドでリモートリポジトリの情報が見れるよ。

1
git remote -v

もし紐付けを間違えちゃったら、このコマンドで削除できるよ。

1
git remote rm RepoName

大体リモート名は origin だから、削除コマンドは git remote rm origin になるね。

七、ブランチ管理

Git のブランチは、機能開発やバグ修正、新しいアイデアの実験を独立して行うための仕組みなんだ。ブランチを使えば、メインのコードに影響を与えずに自由に作業できるよ。

すべてのブランチを表示: git branch

ブランチを作成: git branch new_branch

ブランチに切り替え: git checkout new_branch

ブランチに切り替え(新しい書き方): git switch new_branch

ブランチにプッシュ: git push origin cheny

例えば検索機能を追加する場合、まずメインブランチのコミットが終わったら新しいブランチを作るんだ。

1
git switch -c search

このコマンドは、ブランチ search を作って、そのまま切り替えるっていう意味だよ。

新しいブランチ search で修正とテストが終わったらコミットする。

1
2
git add .
git commit -m "検索機能を追加"

それからメインブランチの main に戻る。

1
git switch main

ブランチ search をマージする。

1
git merge search

(お好みで) search ブランチを削除する。

1
git branch -d search

八、サーバーの構築

参考: Git サーバーの構築と特定ディレクトリへの同期

九、その他

GitLab と GitHub を同時に使う: document-library/Git-study.md

参考記事

Git 教程 - 廖雪峰の公式サイト

ローカルリポジトリと GitHub リポジトリを接続する方法 - CSDNブログ

ローカルの master ブランチのコードをリモートの main ブランチにコミットする

git 修改 .gitignore 后生效

This post is licensed under CC BY-NC-SA 4.0 by the author.
最終更新 2026-02-26 18:26 +0900

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。