gitについて学ぶ
勉強記録
今日はgitの基礎について学びました。
GitHubのアカウントを作成し、実際に手を動かしながら学びました。
基礎を学んだあとTravis Swicegoodさんの著書「入門git」を読んで勉強終了です。
以下今日やったことのメモ書きです。
今日やったこと
gitとは?
バージョン管理システムのこと。どのファイルを変更したのかわかる。
.gitがあればgit管理になる
.gitができるときは・・・
1.git cloneしたとき
2.git init したとき(自分でgit管理にしたいときに)
よく使うgitコマンド
git status 状態の確認
modified →変更されたファイル
Untracked files → 新規追加ファイル
git diff 変更内容
git checkout ローカルリポジトリのファイルをローカルに持ってくる
ローカルにリモートで作成したリポジトリのクローン
リポジトリ→ファイルや変更履歴をおいておく場所
2.clone or Downloadボタンを押すとURLが出る
3.コマンドで git clone リポジトリのURL ローカルにクローンができる
リモートのリポジトリに新規ブランチを作成
1.githubのBranchをクリック
2,find or create a branch…のところに作りたいブランチ名を入力
ローカル環境に新しくブランチを作成
git branch ローカルにあるブランチ一覧 *がついてるのが今いるブランチ
git checkout -b 新しく作りたいブランチ名 今いるブランチをもとに新しいブランチ作成
ちなみに
git branch -a リモートとローカルのブランチを全て表示
リモートの変更内容をローカルに取り入れる
1.git pullを使う方法
git pull リモートリポジトリの変更内容をローカルに取り入れる
pullのあとにブランチ名をいれても良い
pullしながら開発しないと、古いファイルを直してた〜なんてことも・・・
2.git fetchとgit checkoutする方法
リモートに反映しても、fetchしないとローカルに反映されない
2.git checkout ブランチ名 ローカルに指定したブランチがあればブランチ切り替え、なければリモートからとってきて切り替え
pullとどう違うの?→ pullはfetchしてmarge
ファイルをステージングエリアに設置
git add ファイルをステージングエリアに追加する
ローカルリポジトリにコミットする前にまずはステージングエリアにあげる
add前(現在の作業ツリー)とステージングエリアとの差分をみるのは git diff
ステージングエリアとローカルリポジトリとの差分をみるのは git diff —cached
(ステージングエリアにあげるメリット)
コミットしたくないけど、修正したところを残しておきたい時に便利
どこを直したのかわかりやすい!
git checkout ファイル名 でadd前の状態に戻せる
ローカルリポジトリにコミットする
git commit -m “コミットログ(メッセージ)” メッセージをつけてステージングエリアにあったものを全てコミット
git log コミットの履歴をみる
git log -p 履歴と変更内容も一緒に表示
リモートにプッシュする
git push origin ブランチ名 リモートにプッシュする
コミットしていない変更を退避させる
git stash コミットしていない変更を退避(追いやる)させる
git stash pop 退避させた作業の中で最新の作業を復元
ブランチまたいで(切り替えて)popすることもできる
現在のブランチの変更をリモートのmasterブランチにmergeする
mergeしたいブランチを、まず先にカレントブランチにmerge
(例えばmasterブランチにmergeしたいときは、先にカレントブランチにmasterをmerge)
git merge ブランチ名 現在のブランチに指定した別のブランチの変更をmergeする
その結果
コンフリクトを起こした場合・・・
git status をするとboth modified となっているはず
コンフリクトしたファイルを直して、コンフリクトを解消する
解消したら git add でステージにあげて git commit でコミットする(-mつけない)
Pull requestをする
masterブランチのように大切なブランチにmergeするときは
Pull request → レビューしてもらう →問題なければmerge
というように、Pull requestごしにmergeを行う
githubのNew pull requestボタンからできる