はじめに
今回は、Github・Gitについて私の備忘録も含め解説していきます。最近GUIからCLI操作に移行したのでしっかりアウトプットしていきたいと思います。
また、GitHub・Gitはコードを管理する際にバージョン管理ツールとして使われます。
本題
まずは、Githubからリモートリポジトリを作成します。*説明は省く
次にGitで管理したいプロジェクトが存在するディレクトリに移動して以下のコマンドでGitの初期化をします。
これを実行することで.gitといった隠しファイルが生成され、Gitの管理下に置くことが可能となります。
$ git init
または、git initの後にディレクトリを指定することで移動しなくても実行可能になります。
$ git init ディレクトリ名
逆に、Gitでの管理をやめたい場合はgit initしたディレクトリで以下のコマンドを実行するといけます。
$ rm -rf .git/
そして、追加・変更された部分をGitに履歴として残すためにgit addとgit commitを実行する必要があります。
最初に、git addで指定したファイルをステージングにあげます。
$ git add 指定したファイル名
$ git add .
また、git addの後にピリオド(.)をつけることで全てのファイルを指定することが可能になります。
git addされたファイルはコミットするファイルと認識されるようになります。
続いては、git addされたファイルを実際に履歴に残すためにgit commitします。
$ git commit -m 'メッセージ内容'
このようにしてコミットします。-mの後はダブルクオーテーションでも問題ないです。クオーテーションで囲まれている中身にはコミットメッセージを書きます。ファイルに変更を加えたのであれば、git commit -m 'ファイル修正'など、、、
この2つのコマンドでGitに履歴を残すことができたので、変更・追加したファイルをローカルリポジトリからリモートリポジトリに情報を送りたいと思います。
そこで登場するのが、git push origin ブランチ名です。
ですが、初回のpushコマンド、のちに登場するpullコマンドを実行するにはリモートリポジトリを追加してあげる必要があります。
$ git add remote origin URL
ここでのURLとは、GitHub側でご自身のリポジトリがある場所で表示されているHTTPSをコピペでいけます。
そうすることで、リモートリポジトリが追加されるはずです。
実際に追加されているか確認するコマンドとして以下のものがあります。
$ git remote -v
これで、何か表示されていたら成功です。
ここで先ほどにも出た、変更・追加したファイルをローカルリポジトリからリモートリポジトリに情報を送る方法としてpushが登場します。
$ git push origin ブランチ名
これでリモート側に変更が加わります。
実際にチーム開発する際には、masterブランチ(大元となるもの)から派生させて作業するブランチを個人で使います。
個人開発では、masterブランチへの直pushで良いでしょうが(良くはない)チーム開発ではそうはいきません。
作用ブランチからmasterブランチへpushした後にpull requestを出してメンバーにコードレビューを依頼しましょう。そこで、許可が下るとマージされるというのがベストではないでしょうか。
また、チーム開発をしていると他のメンバーがpushしてどんどんリモートブランチが更新されていきます。そこで、自分側にもその更新を反映したいときに使うGitコマンドがあります。
$ git pull origin ブランチ名
このコマンドで指定したブランチ名の中身を自分のローカル側に反映することができます。
ローカル側でも反映したいブランチに切り替えてから実行しましょう!
$ git checkout ブランチ名
注意点として、現在の作業しているブランチでコミットなどがされていないとブランチを切り替えた時に変更が失われます。なので、切り替える前にしっかり履歴として残しておきましょう。
また、現在どのブランチにいるか確認するコマンドがあります。
$ git branch
-aを付けてあげると、リモートブランチも併せて確認することができます。
$ git branch -a
ブランチ作成コマンド
$ git checkout -b ブランチ名
その他、頻出Gitコマンド
$ git status - 現在のファイル状況(修正・削除されたファイルなど)を確認することができます。
$ git log - 誰がいつコミットしたかコミットIDと一緒に確認することができます。
$ git diff - 変更された差分を確認することができます。
以上です、ありがとうございました!
まだまだ、勉強中ですのでアドバイス等ありましたらお願いします。