はじめに
開発をする上で絶対必要になるGitですが、私は毎回記述しているようにゴリゴリの開発初心者でしたのでかなりGitに苦戦しました。
なんとなく概念は分かった気がするけど、上手くいかない…
ということが何回もあり、自分のブランチを何度もぶち壊してしまいました(笑)
本記事では、Gitの概要とかを説明するというよりか、私はこうやってGitを覚えて使っていますという具体的な例を説明したいと思います。
Gitの概念から知りたいようという方は以下の記事などを参考にしていただくと良いと思います。
https://qiita.com/a_goto/items/0fe40b17105d1ac1c40b
私が普段している手順をこちらでは記載します。
チームによって開発方法は異なると思うので、本記事が少しでも参考になれば嬉しいです。
git clone [リポジトリパス]
git clone https://github.com/~~~~~
リモートリポジトリをローカル環境に複製するコマンド。
まずはクローンしてリモートリポジトリをローカル環境に持ってきます。
git branch
git branch
cloneしてきて、developブランチがheadになっているのか、masterがheadなのか確認します。
git branchすると、現状作られている全てのブランチが見れます。そして、今いるブランチの色が変わります。
こんな感じ↓
developからトピックブランチを派生させなければいけないのに、masterしかない!という場合は、以下のコマンドでブランチを作りましょう。
git checkout -b ブランチ名
git checkout -b name-xxxx
新しいブランチを作るコマンドです。
今いるブランチのheadから派生させたブランチを作ることができます。
同時に作成したブランチに移動してくれます。
別ブランチに移動したいときは以下コマンドで移動できます。
git checkout develop
git log
git log
git log --oneline
コミットのログを見ることができます。
--onlineをつけると、コミット番号とコミットコメントだけが見られるので見やすいためよく使用します。
リモートブランチのコミット履歴を確認して、ローカルブランチと差分がないかをトピックブランチを作成して1番最初に確認します。(差分があるとリモートの修正が消えたりしてしまうため)
ローカルブランチのコミット履歴より、リモートブランチのコミット履歴の方が進んでしまっている場合は以下を実行します。
git pull --rebase origin ブランチ名
git pull --rebase origin name-xxxx
これをすることで、今いるローカルブランチのheadを指定したリモートブランチのheadに合わせることができます。
rebaseはmergeとはまた別の概念なので、よくわからんなという方はぜひこちらの記事を参考にしていただくと良いと思います。
https://qiita.com/dys/items/c062b1be0d0287352e37
これで開発の準備が整いました。
git status
git status
変更されたファイルを見ることができます。
addする前に変更したファイルを確認します。
git add
git add [ファイル名]
git add .
コード変更した履歴をステージに載せましょう。
これをしないと、commitができません。
git add .
とすると、変更されたファイルすべてがステージに載せられます。
意図しないファイルもステージに載せてしまう場合があるので気を付けましょう。
git commit -m "~~~~~"
git commit -m "first commit"
コミットを作成します。
-mをつけることで、コミットコメントを入れることができます。
git push
git push
コミットをリモートリポジトリに上げるコマンドです。
トピックブランチを作って1回目にpushしてみると、基本的にgitに怒られます。
これは上流ブランチがセットされてないよというエラーです。
1回目のpushでは上流ブランチをセットすれば、今後のpushでは必ず上流ブランチを追跡できるので別のブランチに間違えてpushしてしまうことがなくなります。
なので、最初にエラーで書かれている通りの以下コマンドで上流ブランチをセットします。
git push --set-upstream origin ブランチ名
これをすればその後のpushコマンドでは毎回ブランチ名を入れる必要がなくなります。
これを覚えれば最低限Gitは扱えると思います。