ターミナルを開く
git init でリポジトリ作成(.git ディレクトリが作成される)
ls -aで見れる ファイルと同じ階層に作成する
1 Gitの基本的なワークフロー
①ファイルの変更をステージングエリアへ追加する (git addコマンド)
②ローカルリポジトリにコミットする (git commitコマンド)
③リモートリポジトリにプッシュする (git pushコマンド)
git add ファイル名
git commitコマンド後コミットメッセージ入力画面が開くので、iを押してから入力開始
終わったらesc→ :wqで保存
GitHubにプッシュするにはリポジトリを用意する必要があるので、ブラウザでGitHubを開き、+ボタンでNew repository(descriptionは入力なし Publicに設定後 Create GitHub
今回はすでに作成されているリポジトリに対して行うので、
…or push an existing repository from the command lineの
git remote add origin https://github.com/ユーザー名/リポジトリ名 が
GitをGitHubに登録するというコマンド
git push -u origin master で完了
2 変更をコミットしよう
1作業ずつ1コミットするのが原則
今ある変更をまとめてステージングエリアへ追加したい場合は git add .
変更にメッセージをつけてリポジトリに記録するのがコミット。
コミットすることで変更がリポジトリ内に時系列で記録される。
わかりやすいコミットメッセージ
1行目 変更内容の要約
2行目 空行
3行目 変更した理由
git commit -vで何の変更をしたか見れる
git logでコミットの履歴
3 色々な変更をコミットしよう
・新規作成
・ファイルの削除
・複数ファイルの変更
削除したファイルをステージングエリアに追加するときは、git rm ファイル名
複数のファイルをステージングエリアに追加は git add .
4 現在の状況を確認しよう
git statusはGitリポジトリの今の状況を表示するコマンド(最新のgit commitした状態からの差分)
5 変更履歴を確認しよう
git logコマンドでリポジトリにコミットされたログを確認する
commit Auther Date その下にコミットメッセージが表示される
このcommitを打ち消したい・このcommitの状態に自分のリポジトリを戻したい時などに、commitにハッシュ値を指定する
git logでよく使われるオプション
git log --oneline #一行で表示する
git log -p #差分を表示する(pの後にファイル名を指定すると、そのファイルの変更履歴を見れる)
git log -n 3 #最新の3つだけ表示
git log --oneline -n 3 #一行で表示して、最新の3つだけ表示
6 変更差分を確認しよう
add, commitする前に git diffコマンド
git diff #ステージとのファイル変更差分を確認
git diff HEAD #ステージとコミットの差分
7 GitHubにプッシュしよう
git remote add origin リモートリポジトリのURL
#ローカルリポジトリをリモートリポジトリに登録
git push origin master
#ローカルリポジトリの内容をリモートリポジトリに送信する
masterはデフォルトのブランチ名 ブランチとは複数人で開発するときのもの
git push origin feature
#master以外のブランチ(この例はfeatureブランチ)へ送信
GitHubのYour profileからRepositoriesから選択後、URLをコピー
8 GitHubの画面を確認しよう
Your profile→RepositoriesからAboutの歯車でDescriptionを追加
Reposotoriesからファイルをクリックして、ファイルの数字をクリックするとURLが生成されるので、行をマークして共有したいときはそのようにする
rawはファイルの生ファイルを見れる(ファイルの中身をコピペしたいときなど)
blameはどの変更を誰がいつしたのか見れる
9 バージョン管理からファイルを外そう
.gitignoreファイルに指定することで、ファイルをGitの管理から外すことができる
(自動生成されるファイルや、パスワードが記載されているファイル)
.gitignoreファイルの書き方
#から始まる行はコメント
指定したファイルを除外したい場合はそのままファイル名を書く (例: index.html )
プロジェクトのルートディレクトリを明示したい場合は / で始める (例:/root.html )
ディレクトリ以下を除外したいときはディレクトリ名/ と書く (例: dir/ )
ファイルごとGitの管理から削除
.gitignoreファイルに書くのを忘れて間違ってコミットしたファイルをGitの管理から削除するには
git rm コマンド
ファイルを削除しただけではGitの管理から外れないので、ファイルを削除した後にgit rmコマンドでGitの管理からも外す
git rm [ファイル名] :ファイルも一緒に削除
git rm -r [ディレクトリ名] :ディレクトリも一緒に削除
あとでgit statusコマンドでGitの管理からも外れたか確認
git reset HEAD ファイル名 :もとに戻す
git reset HEADだけではローカルからは消えたままなので、ローカルにも戻したいときは
git checkout ファイル名 :ローカルにも戻す
ファイルを残してGitの管理からだけ削除
git rm --cashed [ファイル名]
(パスワードなどのファイルでローカルには残したいがGitの管理からだけ外したいとき)
※ .gitignoreに指定しないとGitから常に無視されるようにはならないので、.gitignoreに追記してGitの管理からずっと外れるようにするのを忘れないように!