概要
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 --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/*
「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
リモート名である「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 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.
登録しているリモート先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」とすることで得ることができますが、ローカルレポジトリを新規作成してからコミットを実行されていないと何も表示がされません。なのでコミット前にブランチを確認する場合は「.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」コマンドによって自分が作業場としているブランチを確認することができますが、そのブランチ名を変更したいといった場合は「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 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 ...」コマンドで行えいます。もう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
* 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
それでは以上となります。
最後までご覧いただきありがとうございました。