📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
 
(同じ利用者による、間の4版が非表示)
35行目: 35行目:
下表に、Gitを使用する上で必要な用語を示す。<br>
下表に、Gitを使用する上で必要な用語を示す。<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable" | style="background-color:#fefefe;"
|-
|-
! 用語 !! 説明
! style="background-color:#00ffff;" | 用語  
! style="background-color:#00ffff;" | 説明
|-
|-
| リポジトリ || データを保存する場所。<br>Gitでは、このリポジトリ単位でデータを管理する。<br>修正履歴も保存されている。
| リポジトリ || データを保存する場所。プロジェクトの全ファイルとその変更履歴を含む完全なデータベース。<br>Gitでは、このリポジトリ単位でデータを管理する。<br>修正履歴も保存されている。
|-
|-
| リモートリポジトリ || サーバにあるリポジトリ。<br>サーバに保存され、共有される。
| リモートリポジトリ || サーバにあるリポジトリ。<br>サーバに保存され、チーム内で共有される。<br><br>代表的なサービスとしてGitHub、GitLab、Bitbucketなどがある。
|-
|-
| ローカルリポジトリ || ローカルに保存されているリポジトリ。
| ローカルリポジトリ || ローカル (自身のPC) に保存されているリポジトリ。<br>開発者が直接作業を行う場所。
|-
|-
| クローン || リモートリポジトリを複製すること。<br>修正履歴なども複製される。
| クローン || リモートリポジトリを複製すること。<br>修正履歴なども複製されて、完全なコピーが作成される。
|-
|-
| ブランチ || 一連の修正を、主流から枝のように分岐させて管理するもの。<br>ブランチでの修正内容は他のブランチの影響を受けないため、<br>同じリポジトリで同時に複数の開発を行うことができる。
| ブランチ || 一連の修正を、主流から枝のように分岐させて管理するもの。<br>ブランチでの修正内容は他のブランチの影響を受けないため、<br>同じリポジトリで同時に複数の開発を行うことができる。<br><br>デフォルトブランチはmain (またはmaster) と呼ばれる。
|-
|-
| チェックアウト || 他のブランチへ移動し、作業ディレクトリを任意のコミット状態にすること。
| チェックアウト || 他のブランチへ移動し、作業ディレクトリを任意のコミット状態にすること。<br><code>git switch</code>コマンドでも同様の操作が可能。
|-
|-
| コミット || 修正内容をローカルリポジトリに反映すること。
| ステージング (add) || コミットする前に、変更したファイルをステージングエリアに追加すること。<br>どの変更をコミットに含めるか選択できる。
|-
|-
| プッシュ || ローカルリポジトリの修正内容をリモートリポジトリに反映すること。
| コミット || 修正内容をローカルリポジトリに反映すること。<br>コミットメッセージを付けて変更内容を記録する。<br><br>各コミットには一意のハッシュIDが付与される。
|-
|-
| プル || リモートリポジトリの修正内容をローカルリポジトリに反映すること。
| プッシュ || ローカルリポジトリの修正内容をリモートリポジトリに反映すること。<br>チームメンバーと変更を共有する際に使用。
|-
|-
| マージ || 異なるブランチの修正内容を反映すること。<br>マージ先とマージ元の両方に変更履歴が残る。
| プル || リモートリポジトリの修正内容をローカルリポジトリに反映すること。<br><code>git fetch</code> (変更の取得) と <code>git merge</code> (変更の統合) の組み合わせ。
|-
|-
| コンフリクト || マージの際に、リモートとローカルで同じファイルの同じ箇所に対して修正がされており、自動でマージできないこと。<br>手動で、両方の修正を合わせた内容に編集する必要がある。
| マージ || 異なるブランチの修正内容を統合すること。<br>マージ先とマージ元の両方に変更履歴が残る。<br><br>開発完了した機能を統合する際などに使用。
|-
| リベース || ブランチの基点を別のコミットに移動すること。<br>履歴を直線的に保つことができるが、共有済みのブランチには使用を避ける。
|-
| コンフリクト || マージする場合に、リモートとローカルで同じファイルの同じ箇所に対して修正がされており、自動でマージできないこと。<br>手動で、両方の修正を合わせた内容に編集する必要がある。
|-
| タグ || 特定のコミットに対して名前 (タグ) を付けること。<br>主にバージョン番号を付ける場合に使用する。(例: v1.0.0)
|-
| .gitignore || Gitで管理しないファイルやディレクトリを指定するための設定ファイル。<br>ビルド生成物やログファイル、IDE設定等を除外するのに使用。
|}
|}
</center>
</center>
85行目: 94行目:


== Gitの設定 ==
== Gitの設定 ==
<code>git config</code>コマンドは、Gitの設定ファイルにある変数の値を設定するものである。<br>
<br>
Gitの設定ファイルは3種類ある。<br>
* システム全体に対する設定
*: /etc/gitconfig
* ユーザごとの設定
*: ~/.gitconfig
* プロジェクトごとの設定
*: .git/config
<br>
<code>--global</code>オプションは、~/.gitconfigファイルに設定する。<br>
<code>--system</code>オプションは、/etc/gitconfigファイルに設定するが、使用する頻度はほとんどない。<br>
上記のオプションを付加しない場合は、現在の作業ツリーにある.git/configファイルに設定する。<br>
<br>
==== ユーザ名 / メールアドレスの設定 ====
Gitを使用し始める場合は、まず、2つの変数user.nameと変数user.emailを~/.gitconfigに設定する。<br>
これらの情報は、各コミットに書き込まれる名前とメールアドレスである。
<br>
ユーザ名とメールアドレスを登録する。<br>
ユーザ名とメールアドレスを登録する。<br>
  git config --global user.name <ユーザ名>
  git config --global user.name <ユーザ名>
  git config --global user.email <メールアドレス>
  git config --global user.email <メールアドレス>
<br>
<br>
以下のコマンドを実行することで、設定を確認できる。<br>
設定内容を確認する。<br>
  git config --list
  git config --list または git config --global -l
   
   
  # 出力
  # 出力
96行目: 123行目:
  user.email=<メールアドレス>
  user.email=<メールアドレス>
  ...
  ...
<br>
==== エディタの設定 ====
この設定は、コミット時において、変更および記録を記述する時に指定したエディタが自動的に立ち上がる。<br>
<br>
===== CLIエディタ =====
git config --global core.editor <エディタ名>
# Nanoを設定する場合
# コマンドのパスを指定してもよい
git config --global core.editor nano
# Kateを設定する場合
# コマンドのパスを指定してもよい
git config --global core.editor kate
<br>
<br>


==== カラーの設定 ====
変数color.uiをautoに指定することにより、画面表示に色が付いて視認性がよくなる。<br>
git config --global color.ui auto
<br>
==== 初期ブランチ ====
Git 2.28以降では、初期ブランチ名を<u>master</u>という名前に設定するとよい。<br>
git config --global init.defaultBranch master
<br><br>


== SSH接続 ==
例えば、以下の状況で運用しているGitのリモートリポジトリに接続する。<br>
* リモートリポジトリがあるサーバ
*: repository.example.jp (192.168.1.10)
* リモートリポジトリのディレクトリ
*: /home/ユーザ名/repository/repo.git
* ユーザ名
*: hoge
* 接続方法
*: SSH
* ポート番号
*: 22
<br>
この時、以下のコマンドを実行することで、リモートリポジトリにアクセスできる。<br>
git clone ssh://hoge@repository.example.jp:22/home/ユーザ名/repository/repo.git
<br>
ここで、SSHログイン時にパスワード認証ではなく鍵認証している場合、<br>
秘密鍵のファイル名が標準のid_rsaファイルであるならば、上記のコマンドでアクセスできる。<br>
<br>
しかし、運用上の都合で秘密鍵がid_rsaファイル以外にも複数存在している時がある。<br>
そこで、秘密鍵が複数存在している場合は、サーバごとの秘密鍵の名前を示すための設定ファイルを作成する。<br>
<br>
以下の内容で、設定ファイルである~/.ssh/configファイルを作成する。<br>
このファイルでは、複数のサーバの設定が記載できる。<br>
<br>
また、~/.ssh/configの設定は、Gitに限らず、全てのSSH接続で参照される。<br>
# ~/.ssh/configファイル
Host repo.remote
    HostName repository.example.jp
    User hoge
    IdentityFile ~/.ssh/id_rsa.repo.remote
    Port 22
Host repo.local
    HostName 192.168.1.100
    User huga
    IdentityFile ~/.ssh/id_rsa.repo.local
    Port 22
<br>
以下に、設定項目の説明を記載する。<br>
* Host
*: 任意の名前(エイリアスとして使用する)
* HostName
*: 接続するサーバのIPアドレスやFQDN
* User
*: サーバのユーザ名
* IdentityFile
*: 秘密鍵ファイルのフルパス
* Port
*: SSHのポート番号
<br>
~/.ssh/configファイルの作成後は、アクセス権限を変更する。<br>
chmod 600 ~/.ssh/config
chmod 700 ~/.ssh
<br>
~/.ssh/configファイルの作成後は、以下のコマンドで接続できる。<br>
git clone ssh://repo.remote/home/ユーザ名/repository/repo.git
<br>
単純にサーバへSSH接続するだけなら、以下のようにコマンドを実行する。<br>
# repository.example.jpへssh接続
ssh repo.remote
# 192.168.1.100へssh接続
ssh repo.local
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Git]]
[[カテゴリ:Git]]