はじめに
Git について説明していると、どうしても言葉だけでは伝わりにくい部分が出てきました。
そこで、以下のサイトでじっくり勉強してもらうのも良いのですが、まずは簡単に理解してもらうために、サクッと見せられるものとして記事を書きました。
Git の概念は文章だけだと掴みにくい部分があります。
その場合は、以下のサイトで実際に手を動かしてもらうのがおすすめです。
コマンド説明
git init
Git を使い始めるとき、一番最初にやることはこれです。
このコマンドを実行すると、このフォルダを Git で管理するというという宣言を行います。
git init
git add <path>
これは、次に commit するファイルを選ぶ操作です。
# 特定のファイルだけをステージに追加
git add index.html
# すべての変更を追加
git add .
git restore --staged <path>
これは、 git add の逆だと思ってください。
作業内容は失われませんが、次の commit には含まれなくなります。
git commit
git add で選んだ変更を、履歴として保存する操作です。
# メッセージ付きでコミット
git commit -m "初期実装"
git push
ローカルに保存した commit を、リモートリポジトリに送信します。
git push
git pull
リモートの変更を取得して手元に反映します。
git pull
git checkout
ブランチを切り替える操作です。
作業内容を切り替えたいときや、別の作業を並行して進めたいときに使います。
以下のコマンドでは、既存ブランチへの切り替えができます。
git checkout main
以下のコマンドでは、今いる作業場所(現在のブランチ)を元にして新しいブランチを作り、そこへ切り替えます。
git checkout -b feature/hoge
git merge
別のブランチの変更を、今いるブランチに取り込む操作です。
以下のコマンドは feature ブランチの変更を main に取り込むものです。
git merge feature/hoge
git rebase
ブランチの分岐元を付け替えて、履歴をきれいに並べ直す操作です。
git rebase main
コマンド使用前
コマンド使用後
git rebase を行うと、過去の commit が書き換わります。
その状態でリモートに反映するには、ハードプッシュが必要になる場合があります。
ハードプッシュをすると他の人に大量な conflict を押し付ける形となるのであまりやらないようにしましょう。
(特に共同開発の時)
git push --force
git clone <url>
リモートリポジトリを手元にコピーします。
git clone <url>
Fork
他人のリポジトリを、自分の GitHub 上にコピーする仕組みです。
Fork したリポジトリに変更を加え、その内容を元のリポジトリに取り込んでもらうには Pull Request を作成します。(PR とよく呼ばれているもの)
Fork は GitHub の機能なので git では作りことができません。
GitHub CLI を使えばできますが、記事の範疇から外れてしまうので割愛します。
Qiita に他にいい記事がたくさんあるのでそちらをご覧ください。
おわりに
簡単な説明は以上になります。
ただ、 mermaid の gitGraph を使ってみたかっただけですが、 他の人の役に立つことを願ってます。
最後までお読みくださり、ありがとうございました。