gitコマンドの使い方

バージョン管理ツールgitの簡易的な使用方法をメモ。導入部分は省く。
リモートとの通信にはsshを使用する。

基本

clone

リモート(Gitのサーバー)からリポジトリをローカル(自分のパソコン)に複製する。
git clone [remote URL]でカレントディレクトリにそのリポジトリのディレクトリが複製される。[remote URL]GitHubから確認する。
'GitHub'に行きcloneしたいリポジトリのページまで移動する。緑色の<>Codeを押しLocalCloneSSHからコピーする。

add

ローカルで変更したファイルなどをリモートにあげるファイルを選択する。
git add [ファイル名1] [ファイル名2] …

commit

コミットを作成しリモートにpushする。addしたファイルをひとまとまりにする。
git commit -m "[コミットメッセージ]"
コミットメッセージには何を更新したのかなどの内容を書いておくとよい。

push

作成したコミットをリモートにあげる。git pushでリモートを更新する。

更新されたファイルなどがあるか確認

git statusで現在のリポジトリで更新されたファイルがあるかどうか、確認できる。

リモートの変更をもってくる

他の端末などで変更を加え、リモートに反映させた。手元には反映前のコードなどがある。というときにわざわざディレクトリを削除してもう一度cloneするのはめんどくさい。git pullを使用するとリモートの変更を反映させることができる。これはgit pull origin mainと同じことをしていて、リモートのmainブランチからfetch(変更をもってくるだけ )とmerge(変更を反映させる)を同時に行う。mergeするときにローカルにリモートにはない変更があった場合は、手動でmerge作業を行う必要がある。

branchを分ける

ふだんはおそらくmainブランチ、または、masterブランチを使用していると思われるが、開発用のブランチmainと更新用(リリースごと)のブランチreleaseに分けておきたいとする。mainブランチは日々の開発によりたくさんの更新が入りどのコミットでうまくいったのかがわからないこともある。ブランチは分けずにタグを作成して、そのときのコミットに戻れるという機能もあるがそれはbranchの次に紹介する。

ブランチを作成

まずはブランチを作成する。
git branch release
releaseという名前のブランチがローカルに作成された。git branchを実行すると現在ローカルにあるブランチの一覧を表示できる。

ブランチに移動する

ブランチを作成したらそのブランチに移動する。
git checkout [ブランチ名]
新しいブランチを作成していない場合は、git checkout -b [ブランチ名]で新しいブランチを作成しそのブランチに移動することができる。

addしたりcommitしたり

あとは変更したファイルをaddしたりcommitしたりしても問題ない。pushするときはgit push origin [ブランチ名]とすると安心感がある。

ブランチを他のブランチと同じバージョンまで持ってくる

mainブランチだけ先に進み、releaseブランチが遅れている場合、releaseブランチにmainブランチの状態にしたいなどということもあると思われる。そんなときにいちいちmainブランチからreleaseブランチにコピペするのは面倒くさい。そんなときにmergeを使用する。
進めたいブランチにcheckoutし、git merge [進んでいるブランチ名]を実行する。releaseブランチをmainブランチと同じ状態にしたい場合は、git checkout releasegit merge mainを実行することでreleaseブランチにmainブランチの変更を反映させることができる。
このあとにreleaseブランチにpushし、リモートにも反映させる。

ブランチの削除

ブランチが要らなくなったときに削除できるように。
git branch -d [ブランチ名]でブランチを削除できる。これでローカルのブランチが削除された。
git push origin --delete [ブランチ名]でリモートのブランチも削除することができる。

確認

現在ローカルにあるブランチを確認するにはgit branchを使用する。
リモートにあるブランチも確認するにはgit branch -rを使用する。

tag

特定のバージョンに戻りたい(リリースバージョンとか)というときにリリースを作成するという事もできるがそれでは検索などに引っかかってしまう。それが嫌だという場合はtagを作成し、そのタグに戻ればよい。

tagの作成とpush

タグを作成する前に変更などはすべてリモートに反映させておくとよい。
git tag -a [タグ名] -m "[タグのメッセージ]"
これでローカルにtagを作成する。ローカルのcommitにtagがつけられる(と思われる)。
git push origin [タグ名]
これにより、タグを作成し、作成したタグをリモートに反映することができる。

tagの確認

git tagでローカルにあるタグを確認できる。

tagの削除

git tag -d [タグ名]でローカルにあるタグを削除する。git push origin --delete [タグ名]でリモートにあるタグを削除する。

参考