目標と前提
- mac osを使っている
- gitを用いて作業ブランチを切るところから最新mainブランチの同期まで、必要な超最低限度使用するコマンドを使えるようになりたい
- Source TreeなどのGUIツールを使った開発には慣れているが、ターミナルでのgitコマンドには慣れていない
- 既にローカルリポジトリの作成をしている(git init)
- ターミナルでgitコマンドを利用するとやらかしそう
- 超入門者である
gitコマンドの流れ
1.作業ブランチを切る
ローカルリポジトリのメインブランチから作業ブランチを切りましょう。
まずはgit checkout
コマンドで、mainブランチへ切り替えてください。
そのあと、git branch hogehoge
で、"hogehoge"の部分を好きな名前にして作業ブランチを切ります。
ここでは"feature/hogehoge"とします。
> git checkout main
> git branch feature/hogehoge
ローカルリポジトリに、新しいブランチ”feature/hogehoge”を切ることが出来ました。
続いて、git branch
コマンドで切ったブランチを確認します。
> git branch
feature/hogehoge
* main
lines 1-1/1 (END)
このコマンドで、ローカルリポジトリ内のブランチ一覧を出力します。
"*"がついたブランチが現在のブランチとなります。
無事、"feature/hogehoge"という作業ブランチを確認できました。
2.作業ブランチに切り替える
現在mainブランチにいるので、先程切った作業ブランチに切り替えましょう。
> git checkout feature/hogehoge
> git branch
* feature/hogehoge
main
lines 1-1/1 (END)
ブランチを切り替えたら、git branch
を実行し、ブランチが切り替わったことを確認してください。
"*"が、作業ブランチである"feature/hogehoge"に付きました。
これで開発を行うと、このブランチでcommitしていくことになります。
3.開発する
vimやVScodeなど、各種エディタで開発を行います。
現在の作業ブランチは"feature/hogehoge"ですので、他のブランチに影響することなく開発をしていることになります。
詳細はここでは記述しません。
4.リモートリポジトリにプッシュする
ローカルリポジトリの作業ブランチ"feature/hogehoge"で開発した変更を、リモートリポジトリに反映させるためにプッシュします。
まずは変更点があるか確認してみましょう。
git status
コマンドの実行で、ブランチ内にアップデートがあれば、差分ファイルを確認できます。
> git status
プッシュしていきます。
手順を踏んでリモートブランチへプッシュします。
git add .
コマンドで、commitできる状態であるステージング状態に差分ファイルを持っていきます。
続いてgit commit
コマンドによりステージングにある差分をコミットします。
最後に、git push
コマンドで、リモートリポジトリにブランチを生成し差分をプッシュしましょう。
> git add .
> git commit -m "hogehoge部分の修正と実装"
> git push origin feature/hogehoge
> git status
念の為最後にgit status
を実行すると、差分ファイルが無いことがわかります。
5.github等でプルリクを出す
github等、リモートリポジトリでプルリクを出しましょう。
コードレビューをしてもらい、リモートリポジトリのmainブランチへマージしてください。
詳細はここでは記述しません。
6.リモートとローカルのmainブランチを同期する
リモートリポジトリのmainブランチはマージにより、差分を結合した最新ブランチとなりました。
ローカルのmainブランチも最新状態にしましょう。
まずはgit checkout
で同期したいブランチを指定します。
git pull
コマンドで、持ってきたい最新のリモートリポジトリのmainブランチをプルします。
> git checkout main
> git pull origin main
これで、ローカルのmainブランチを最新化することができました。
ここまでで、超最低限のgitを用いた開発の流れはできるのではないでしょうか、たぶん。
おまけ.不要となったローカルブランチを削除
開発を終え、マージもできました。
ローカルの不要なブランチを削除しちゃいましょう。
> git branch -d feature/hogehoge
> git branch
* main
lines 1-1/1 (END)
最後にgit branch
で、ブランチの一覧を出力し、不要なブランチが消えていることを確認しています。
今回使用したgitコマンド一覧
-
git checkout hogehoge
ブランチを切り替えるコマンド。ここではhogehogeブランチへ切り替えを指定しています。 -
git branch
ローカルにあるブランチの一覧を出力し確認するコマンド。 -
git branch feature/hogehoge
ブランチを切るコマンド。ここでは"feature/hogehoge"ブランチを生成します。 -
git status
現在の作業ブランチの差分を確認するコマンド。 -
git add .
作業したファイルを"すべて"ステージング状態にするコマンド。この状態ではまだコミットもプッシュもされていない状態。 -
git commit -m "hogehoge"
ステージングにあるファイルをコミットするコマンド。"-m" を入力することでコメントを入力することができる。 -
git push origin hogehoge
コミットしたファイルをリモートのhogehogeブランチにプッシュするコマンド。 -
git pull origin main
リモートのmainをローカルにプルするコマンド。pullの概念については良さげな記事を友人に共有してもらったので後日噛み砕きます。 -
git branch -d hogehoge
ローカルのhogehogeブランチを削除するコマンド。
まとめ
最低限必要なgitコマンドを用いれば、GUIを使わずともスマートに開発ができると思いました。
今までやらかしが怖くて、GUIのgitツールを使って作業していましたが、友人に教えてもらって半ば強引にターミナルで作業してみると、案外慣れるものだなと。
ただ、pullの概念など、もうちょっとちゃんと理解していないと後々にやらかすことになりそうなので、そのへんの勉強をしないといけないですね。
以上、qiita初投稿は自分への備忘録となりましたが、私のようなスーパー超入門者の方に少しでも参考になれば。
ここは正しくない!といった箇所があればぜひご教示ください。