Generic placeholder image

【git】gitで設定されている内容の確認・変更・削除

投稿日 2022年6月10日 >> 更新日 2022年6月11日

概要

gitで設定されている内容(リモート先やブランチ)の確認・変更・削除の早見表のような記事です。「とりあえず」という方や「内容が気になる」という方は実践してみてください。そしてgitアレルギーがある方は少々苦手意識が解消されるかと思います。

実行環境

実行環境
Windows Subsystem for Linux
git version 2.17.1

設定項目の確認

「git init」で設定された内容は「.git」ディレクトリ内の「config」ファイル内にあります。この設定ファイル内にリモート先のURL等の情報が格納されていきます。

※初期化時の状態

$ ls -a
.  ..  .git
$ ls .git
HEAD  branches  config  description  hooks  info  objects  refs
$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        ignorecase = true

【git config】コマンドで設定内容の確認

「git config --list」で設定内容の確認を行えます。

※初期化時の状態

$ git config --list
user.name=User-Name
user.email=address@gmail.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true

「git remote add リモート名 リモート先URL」でリモート先のURLを設定するとリストに追加されます。

$ git remote add origin https://github.com/user-name/test.git

設定ファイルのリストを確認すると「origin」という名前でリモート先URLが設定されています。

$ git config --list
user.name=User-Name
user.email=address@gmail.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.url=https://github.com/user-name/test.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

リモート先URLの確認・変更・削除

【git remote -v】コマンドで登録しているリモート先URLの確認

「git remote add リモート名 リモート先URL」によりリモート先のURLを登録することができ、登録済みのリモート名及びそのURLを確認するには「git remote -v」コマンドを打ちます。

$ git remote -v
origin  https://github.com/user-name/test.git (fetch)
origin  https://github.com/user-name/test.git (push)

リモート名のみで良い場合は「git remote」とします。

$ git remote
origin

【git remote rename ...】コマンドでリモート名の変更

リモート名である「origin」はリモート先URLを登録する際に一緒にリモート名も「git remote add origin リモート先URL」として決めていました。

任意の名前を付けることができるので、他の名前に変更したい場合は「git remote rename リモート名 変更後のリモート名」と打ちます。

$ git remote rename origin site-name
$ git remote -v
site-name       https://github.com/user-name/test.git (fetch)
site-name       https://github.com/user-name/test.git (push)

【git remote set-url ...】コマンドでリモート先URLの変更

「git remote add リモート名 リモート先URL」によって登録したリモート先URLを変更したい場合は「git rename set-url リモート名 リモート先URL」と打ちます。

$ git remote set-url site-name https://...
$ git remote -v
site-name       https://... (fetch)
site-name       https://... (push)

もしも存在するリモート名(site-name)使ってリモート先URLを追加しようものなら以下のようにエラーとなります。

$ git remote add site-name https://github.com
fatal: remote site-name already exists.

【git remote remove ...】コマンドで登録しているリモート先URLの削除

登録しているリモート先URLを削除したい場合は「git remote remove リモート名」とすると削除できます。

$ git remote remove site-name
$ git remote -v
$ git config -l
user.name=User-Name
user.email=address@gmail.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true

ブランチの確認・変更・削除

gitプロジェクトがローカルで初期化された時、デフォルトブランチは「master」となります。

リモート先であるGitHubのデフォルトブランチは「main」として新規レポジトリが作成されます。

【git branch -v】コマンドでブランチ名・コミットID・コメントの確認

ブランチ情報の確認は「git branch」とすることで得ることができますが、ローカルレポジトリを新規作成してからコミットを実行されていないと何も表示がされません。なのでコミット前にブランチを確認する場合は「.git」ディレクトリ内にある「HEAD」ファイルを取得します。

$ git branch
$
$ ls .git
HEAD  branches  config  description  hooks  info  objects  refs
$ cat .git/HEAD
ref: refs/heads/master

適当にファイルを作成しコミットが完了されると、デフォルトブランチの「master」として履歴に反映されます。

$ touch file.txt
$ git add .
$ git commit -m 'first commit'
[master (root-commit) 45477b1] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file.txt
$ git branch
* master

「git branch -v」コマンドで自分が実行中のブランチ名と直近のコミットID上7文字・コミット時のコメントを取得できます。

$ git branch -v
* master 45477b1 first commit

コミット履歴を確認してみるとブランチ名、そしてコミットID上7文字とコメントが一致しています。

$ git log
commit 45477b1fcaab565aeb7598918f38977d56603b52 (HEAD -> master)
Author: User-Name <address@gmail.com>
Date:   Sat Jun 11 07:11:04 2022 +0900

    first commit

レポジトリに追加されたファイル等のコミット履歴を取得したい場合は「git log --name-only」とします。

$ git log --name-only
commit 45477b1fcaab565aeb7598918f38977d56603b52 (HEAD -> master)
Author: User-Name <address@gmail.com>
Date:   Sat Jun 11 07:11:04 2022 +0900

    first commit

file.txt

【git branch -M】コマンドで実行中のブランチ名を変更(コミット後)

何かしらのものがコミットされると「git branch」コマンドによって自分が作業場としているブランチを確認することができますが、そのブランチ名を変更したいといった場合は「git branch -m」もしくわ「git branch -M」(推奨?)コマンドを打ちます。

※「git branch -M ...」は「git branch -fm ...」と組み合わせたオプション

$ git branch -M main
$ git branch -v
* main 45477b1 first commit

【git checkout -b ...】コマンドでデフォルトのブランチ名を変更(コミット前)

「git checkout」コマンドはブランチを他のブランチに移動する際などに使いますが、「-b」オプションでブランチ名の変更も可能です。だたしコミット後では新しくブランチを作成してしまうので「git branch」コマンドで確認してから実行するようにします。

※一度もコミットをしていない状態

$ git branch
$ cat .git/HEAD
ref: refs/heads/master
$ git checkout -b main
Switched to a new branch 'main'
$ cat .git/HEAD
ref: refs/heads/main

【git checkout】コマンドでブランチの移動

ブランチの移動は「git checkout ...」コマンドで行えいます。もう1つブランチを作成して試してみます。

$ git branch
* main
$ git branch sub-branch
$ git branch -v
* main       45477b1 first commit
  sub-branch 45477b1 first commit

新しくブランチが作成されたので、「git checkout ...」コマンドを使ってブランチを変えてみます。

$ git checkout sub-branch
Switched to branch 'sub-branch'
$ git branch -v
  main       45477b1 first commit
* sub-branch 45477b1 first commit

コミット履歴をしっかり受け継いでいます。

【git branch -d・git branch -D】コマンドでブランチの削除

ブランチを削除するには、「git branch -d ...」コマンドで削除したいブランチ名を指定します。

$ git branch
* main
  sub-branch
$ git branch -d sub-branch
Deleted branch sub-branch (was 45477b1).
$ git branch
* main

「git branch -D ...」は「git branch -fd ...」の組み合わせで、強制的に他のブランチを削除します。

$ git branch
* main
  sub-branch
$ git branch -D sub-branch
Deleted branch sub-branch (was 45477b1).
$ git branch
* main

それでは以上となります。

最後までご覧いただきありがとうございました。

<<< 一覧へ戻る