git 学習
gitってすごい便利ですね!これのおかげで、わざわざお試しファイル作ったりする必要がなくなったし、ちょっとソースコードをいじっちゃったら動かなくなってどう直したらいいかわからなくなったっていう問題もなくなりました!
git を学習しよう
- git config --global user.name "(your name)"
- git config --global user.email "(your email)"
- git config --global color.ui true
- git config -l
- git config --help
- git help config
gitをコミットしてみよう
- git init
git initしてこのファイルをgitしますよーと指令を出す。
- git add
git の段階を作業ディレクトリからステージングエリアにあげる
- git commit
ステージングエリアからリポジトリにあげる。
- git log
履歴をみれる
git ログをいじってみよう
- git log --oneline
git のログを長く表示するのではなく短く一行で表示する
- git log -p
どこを編集したのかがみれる
- git log --stat
何行編集したのかがみれる。
git status で現在の状態を知ろう
- git status
どのファイルを変更したのか、そのファイルはどの段階にいるのか?(作業ディレクトリなのか、ステージングエリアなのか、それともリポジトリなのか)をチェックする。
- git checkout -- filename
で以前の状態に戻ることができる(編集前)
どこがどのように変更されたのかgit diffを使って知ろう
- git diff
どこが編集されたのか詳しく教えてくれる(ステージング前)
- git diff --cached
どこが編集されたのか詳しく教えてくれる(ステージング後)
git のファイル移動
- git add .
git add . をつけると、. 以下のファイルをすべてまとめてステージングしてくれる便利な機能
- git rm / git mv
gitの管理下に入っているファイルを移動したり、削除するときは、必ずgitをつけて移動したり、削除したりしてあげる。じゃないとgitが混乱する。
git で管理しないファイルをつくる
- .gitignore
.gitignore のファイルのトップに *.log とつけると.logのファイルは無視される(ワイルドカードのようなもの)。ファイルの容量が無駄に大きい、他の人に見られたくない、更新する必要がないようなファイルの時につかう。
それぞれのコミットの変更点を綺麗に管理したいときにつかうamend
- git commit -m "(message)"
- git commit --amend
過去のソースコードに戻ろう
- git reset --hard HEAD
前の編集点に戻る
- git reset --hard HEAD^
二つ前の編集点に戻る
過去のソースコードに戻ったけど、やっぱり元に戻してみよう
- git reset --hard ORIG_HEAD
戻す前の変更点を戻る
ブランチを使って複数のファイルを同時に保持しよう
- git branch
今いるブランチがみれる
- git branch (branch name)
ブランチの作成
- git checkout (branch name)
ブランチの移動
違うブランチでファイルを作成すると、他のブランチにはその内容は影響されない。過去のファイルとして別のブランチで管理できる。
ブランチをmergeして、いらないブランチを削除しよう
- git merge (branch name)
大元のブランチにmergeする
- git branch -d (branch name)
いらなくなったブランチを削除する
各ブランチの同名のファイルに違うことを書き込んでコンフリクトになったら
- コンフリクトの解決
mergeしようとしたけど、コンフリクトになってできなかったら、編集でどちらか削除したい部分を消す
タグづけしてみよう
- git tag
タグのついているファイル確認
- git tag (tag name)
- タグ付け
- git show
タグの確認
- git tag (tag name) (commit id)
commit idを使ってタグ付け
- git tag -d (tag name)
タグの削除
エイリアスを使って入力を簡単にしてみよう
- git config --global alias.co checkout
- git config --global alias.st status
- git config --global alias.br branch
- git config --global alias.ci commit
- git config -l
エイリアスの確認