GitHub

事前準備

  • アカウントの作成
    GihHubのサイトでアカウントを作成する。

  • ソースコードをgit-coreからダウンロードするしインストールする
    # tar zxvf git-1.9.0.tar.gz
    # cd git-1.9.0
    # ./configure --prefix=/usr/local/
    # make
    # make install
  • SSH Keyの作成/登録
    # sh-keygen -t rsa -C "メールアドレス"
    # cat /root/.ssh/id_rsa.pub
    ここで表示された文字列を GitHubのWebページへアクセスしアカウントページから SSH Keys をクリックし、rsa.pub のコピーした内容を登録する。
    # ssh -T git@github.com
    認証が成功する場合は、Hi UserName! You've successfully の文字列が返ってくる。

     

基本的な操作

リポジトリを新規に作成した際のURLは以下の通り。
https://github.com/<UserID>/<リポジトリ名>

git init

リポジトリの初期化し、ワークツリーを作成する。

# git init
Initialized empty Git repository in /root/git/.git/
カレントディレクトリに、.gitディレクトリ(現在のディレクトリ以下を管理するリポジトリデータ)が作成される

git status

ステータス確認

# git status
On branch master ‥‥ masterという名前のブランチにいる
Initial commit
nothing to commit (create/copy files and use "git add" to track)
# touch README.md
# git status
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README.md
nothing added to commit but untracked files present (use "git add" to track)

git add

ステージ領域へファイル追加

# git add README.md
# git status
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
       new file:   README.md

git commit

リポジトリの歴史を登録

# git config --global user.email "登録メールアドレス"
# git config --global user.name "ユーザーID"
# git commit -m "First Commit"
オプション説明
-m "コメント"変更の要約を1行でコメントする。省略するとエディタが立ち上がる。 #コメント行を除き、1行目に変更内容の要約。2行目空白。3行目以降に変更した理由の詳細を記述する
-agit add を行う
--amend直前のコミットメッセージを修正する。エディタが立ち上がるので修正し保存する

コミット後の状態

# git status
On branch master
nothing to commit, working directory clea

git log

コミットログの確認

# git log [ディレクトリ | ファイル名]
commit 5d787839cd3ee97a54b71d417163d2c1844618a9
Author: kitacorn <kawasumimai2003gm@gmail.com>
Date:   Sat Jan 31 18:47:04 2015 +0900
    First Commit
オプション説明
--pretty=short1行目の要約だけのメッセージ一覧を表示
--graphブランチを視覚的に確認する
-p差分を確認する

git reflog

commit / checkout / reset / merge などのGitコマンドで行われた変更履歴を確認。
一番最初のフィールドはハッシュタグ。

# git reflog
8afa289 HEAD@{0}: checkout: moving from sub to master
71a73cc HEAD@{1}: commit: sub
8afa289 HEAD@{2}: checkout: moving from master to sub
8afa289 HEAD@{3}: commit (initial): 2nd

git diff

ワークツリー・ステージ領域・最新コミット間の差分を確認する。
aaaaaと記載されたREDAME.mdに bbbbbを追加して実行。ワークツリーとステージ領域の差分確認。

# git diff
diff --git a/README.md b/README.md
index ccc3e7b..1f3caa0 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
+bbbbb
 aaaaa
# git add README.md
# git diff
ワークツリーとステージ領域の差分はない為、何も表示されない。

最新コミットとの差分を確認するには HEAD(作業しているブランチの最新コミットを参照するポイント)を付与する。

# git diff HEAD
diff --git a/README.md b/README.md
index ccc3e7b..1f3caa0 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
+bbbbb
 aaaaa

git reset

歴史を戻る。ハッシュタグは、git loggit reflog コマンドで確認可能。

# git reset --hard ハッシュタグ

git rebase

歴史を改ざんする。

# git rebase -i HEAD~2
現在のブランチのHEAD(最新コミット)を含めたた2つまでの歴史を対象としてエディタが起動する


 

リモートリポジトリ

git remote add

コミット済みファイルをリモートのリポジトリへ登録する。

git remote add <識別子> git@github.com:<ユーザー名>/<リポジトリ名>.git
#  git remote add origin git@github.com:kitacorn/RuriApp.git

git push

リモートリポジトリへ送信する。

git push -u <識別子> <ブランチ名>
#  git push -u origin master

git clone

リモートリポジトリを取得する。
git clone直後は、masterブランチで、clone元のリモートリポジトリを origin という名前で参照できるように自動的に設定されている。
現在のローカルリポジトリのmasterブランチは、リモートリポジトリ(origin)のmasterブランチと同じ内容になっている。

git clone git@github.com:<ユーザー名>/<リポジトリ名>.git

git pull

最新のリモートリポジトリブランチを取得。

 

ブランチ

最新コードを複数のブランチで管理することで、並列開発を可能とする。masterはデフォルトのブランチ。

git branch

ブランチの一覧表示や、作成を行う。引数にブランチ名を入れると新しくブランチを作成する。

# git branch [ブランチ名]
* master ‥‥*マークが現在のブランチ
オプション説明
-d [ブランチ名]ブランチを削除
-aローカルリポジトリだけでなく、リモートリポジトリも含んだブランチ情報を表示

git checkout

ブランチの切り替えを行う。ブランチ名に - を指定することで1つ前のブランチに移動する。

# git checkout [オプション] ブランチ名
オプション説明
-bブランチの作成と切り替えを同時に行う。git branch [ブランチ名] ⇒ git checkout [ブランチ名] と同じ動作

git merge

ブランチをマージする。

# git merge --no-ff <ブランチ名>
オプション説明
--no-ffマージしたことを明確に歴史に残す

トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-02-01 (日) 10:11:02 (876d)