GitHubのまとめ1(学習環境構築、git add,git commit,git diff)

Gitとは?

ソースコードのバージョン管理に使うもの。

ソースコードの履歴を残して、誰が、いつ、どのファイルのどの場所を編集したか簡単に管理できる。

Rails Tutorialなどで使うBitbucketもあるが、あまり使われていないようなので

リモートリポジトリにはGitHubを使う。

リポジトリとは?

ファイルを管理するデータベースをリポジトリと呼ぶ変更履歴を記録する場所
・ローカルリポジトリ  各開発担当者がローカル環境に保持するリポジトリ
・リモートリポジトリ  すべての開発担当者で変更内容を共有する

基本的な操作の流れと用語

学習環境(導入方法などは省略)

・AWS Cloud9(無償内で利用)

・GitHub

git config --global user.name "任意の名前"
git config --global user.email "任意のメールアドレス"

日本語が文字化けしないように設定

git config --global core.editor 'vim -c "set fenc=utf-8"'

設定を確認したいときは

less ~/.gitconfig

ディレクトリ作成(git_repositories)と移動

mkdir git_repositories
cd git_repositories/

ディレクトリ作成(tutorial)と移動

mkdir tutorial
cd tutorial/
リポジトリを作成(初期化)
git init

学習用のファイル作成とadd

 

新規ファイルを作成

touch a.js

tutorialファイルにあるa.jsに記述
console.log(‘A’);

ターミナルにてgit status

今masterという名前のbranch(ソースコードの作業履歴を枝分かれして記憶していくためのもの)にいる

Untracked files:a.jsは未追跡のファイル=バージョンの管理の対象になってない
つまり今ワーキングツリーにあるということ↓の図を見るとわかりやすい

ワーキングツリーからステージに移行する(add)

git add a.js
git status

b.jsを追加
touch b.js

b.jsに以下を記述

console.log('B');
git add b.js
git status

コミット(git commit):ステージからローカルリポジトリに移行

”コメント内は重要”

git commit -m "first commit"

(git commit -vの場合もあるらしい。その場合Vimなどでコメントを記述する)

(git commit でやる場合もある。そのときはVimなどで1行目にコメントし:wq)

現在のワーキングツリーの状態はコミットされている最新の状態から変更がないことが確認できる。つまりワーキングツリーとローカルリポジトリの内容が一緒だということ!

ログの確認(git log)

一行で表示したいとき

git log --oneline
一行で最新の3つが見たいとき
git log --oneline -n 3

a.js のログを見たい

git log a.js

コミットで行われた差分を確認したいとき

git log -p

↑+は追加したもの-は消したものが表示される。

a.jsのログが見たいとき

git log -p a.js

差分を確認する(git diff)

a.jsにconsole.log(‘AA’);を追加した後にターミナルにてコマンド

git status

git diff

このように表示される。

変化をローカルリポジトリにコミット

git add a.js
git diff

※差分がない場合は↑のように表示されない

前回のコミットであるHEADとの差分を確認したいとき

git diff HEAD

差分に問題がなければgit commitする

git commit -m "add AA"

git log -p

復習)a.jsからconsole.log(‘A’);を削除しコミットする

git diff
git add a.js
git diff HEAD
git commit -m "remove A"
git log
git lop -p

その2に続きます

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です