はじめに
Gitで管理する際にSource Treeを用いて操作していたのですが、コマンドでの操作を目にする機会も増えてきたので、自分の備忘録としての意味合いを込めて残します。もし、コマンドでのGit操作をしたことのない方への参考になるならば幸いです。
#テスト用のリポジトリを用意する
いきなり大事なデータが入っているリポジトリを使うのは危険なのでテスト用のリポジトリを用意します。
Bitbucketなどでテスト用のリポジトリを用意するといいでしょう。
#コマンドで操作するための準備
1. Bitbucketなどのサイトでテスト用のリポジトリを用意する
2. コマンドでのGitの動きを確認するためSource TreeなどのGUIをインストールする
3. WindowsならGit Bash、MacならデフォルトのターミナルやiTermなどをインストールする
#ターミナルでも使うLinuxコマンド
テスト用のリポジトリを用意したところで、さっそくGitをいじりたいところですが、その前にターミナル等で使うLinuxコマンドについて簡単におさえておきます。
上記のGit Bashやターミナル等を開いて実際に動かしてみます。
※コード内の[ ]はディレクトリ名やファイル名を見やすくするために書いているもので、実際に記述するときは不要です。
$mkdir [ディレクトリ名]
$ls
$cd [ディレクトリ名]
$mv [移動するファイル] [移動先ディレクトリ]
$touch [ファイル名]
$echo '[ファイルの中に記述する内容]' > [書き込む対象のファイル名]
$cat [ファイル名]
$rm [ファイル名]
#リモートリポジトリをクローンする
簡単なコマンドを確認したところで本題に入っていきます。
まずはじめにテストするためのリポジトリを先ほどのBitbucketに用意します。
リポジトリが用意できたら、そのリポジトリをローカル環境にクローンしてきます。
クローンする際に作業ディレクトリを、リポジトリを保存したいディレクトリに移動しておいてください。
$git clone 'リモートリポジトリのURL'
エクスプローラーやfinderで保存したディレクトリを確認してみます。
クローンしてきたフォルダができていればクローン完了です。
#ブランチを作成する
リモートリポジトリをクローンしてきたら、作業用のブランチを作成します。
$git branch [ブランチ名]
これでブランチを作成できました。しかし、今はクローンしてきたリポジトリのmasterブランチのままです。
仮にこの状態でpushしてしまうとmasterブランチにそのままpushしてしまうことになります。これではGitの利点を生かすことができません。
ですから、先ほど作成したブランチにチェックアウトして作業用リポジトリに移動します。
$git checkout [ブランチ名]
これで先ほど作成した作業用ブランチに移動することができました。
ちなみに下記のコマンドでブランチの一覧を確認することができます。
$git branch
何もファイルがないままだと、いろんなGitのコマンドを試せないので、いくつかテスト用のファイルを作ります。
先ほどのLinuxコマンドを使っていくつかチェックアウトしたブランチにファイルを作成します。
#リモートリポジトリにコミットする
いくつかファイルを作成したら、コミットしていきます。
まずは、Source Treeで言うところのステージに上げる作業です。
$git add [ステージに上げる対象のファイル名]
ステージに上げることができたら、今度はコミットします。
$git commit
この後、コミットコメントを入力する画面に遷移します。
viで入力することになりますので、「viって何?」って方は下のコマンドでコミットする際に併せてコミットコメントも書いてしまいましょう。
$git commit -m 'コミットコメント内容'
#リモートリポジトリにプッシュする
コミットまでできたら、あとはリモートリポジトリにプッシュします。
$git push [ローカルリポジトリ名(originであることが多い)] [リモートリポジトリ名]
#masterブランチにマージする
最後に先ほどの作業用ブランチをmasterブランチにマージします。
まずmasterブランチにチェックアウトします。
その後以下のコマンドで先ほどの作業用ブランチをmergeします。
$git merge [マージされる対象のブランチ(作業ブランチなど)]
マージまでできたら、Source Treeなどでどうなったか確認してみます。
ちゃんとマージされていることが確認できれば簡単な作業は一通り実践できました。
#最後に
コマンドでGitを操作する手順を書いてきましたが、実際は今回紹介しなかったものがいくつもあります。今回はオプションをなるべく省いて、簡単なコマンドでの作業を中心に書いてきましたので、ベテランの方々からすると手間がかかっていると感じられる部分も多々あったと思います。初心者の方は、いきなりコマンドでのGit操作に抵抗があると思いますので、そういった方々への参考になれば幸いです。