Git まとめ

このページに上手くまとまっていましたー! が、まだイマイチよくわからないので分かり次第、このハックを更新したいと思います。  

追記

gitについて少し理解できたのでハックに残しておきます。

開発の手順

1.Githubへの登録確認
以下のコマンドで、登録の確認を行います。

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/自分の名前
$ ssh -T git@github.com

2.一般的な開発の流れ

//ブランチの状態を確認
$git status
//最新状態を適用
$ git pull (origin) master
//ブランチ切り替え
$ git checkout branch name 
//変更ファイルをインデックスという場所に保管
$ git add file name
//コミットする
$ git commit -m "コメント"
//プッシュして終わり!!
$ git push

3.役立つGit コマンド

//ローカルリポジトリの作成
$ git int
//過去のコマンド履歴の確認
$ history
//コミット履歴の確認
$ git log
//現在のブランチの変更状況を一時的に保管、復元
$ git stash
$ git stash pop
//既存のリポジトリの複製を作成
$ git clone url
//最新のcommitをなかったことに
$ git revert HEAD


Gitのあれこれ

Gitのファイルの保管場所

Gitでは4つの場所をファイルが行き来しているみたいです。

リモートリポジトリ : 複数人で管理するリポジトリ(個人の開発をここに集約)
ローカルリポジトリ : 個人のリポジトリ(個人の開発環境)
インデックス    : 変更ファイルの一時保管場所
ワーキングツリー  : 作業ブランチみたいなもの

ちなみには、ローカルリポジトリはさらに2つに、分かれていて
ローカルブランチ   : 個人の作業ブランチ
リモート追跡ブランチ : リモートの状態をコピーして管理するブランチ
の2つから構成されています。

fetchとpullについて

現在位置しているブランチにmasterをマージする方法
pull = fetch + merge のようです。

//fetchを使う(origin = リモート追跡ブランチのこと)
$ git fetch // 先にリモートの状態をリモート追跡ブランチにコピー
$ git merge origin/master // リモートのコピーからマージ

//pullを使う
$ git pull origin master

rebaseとmergeについて

この二つのページはとてもわかりやすくまとめてあります!!

rebaseとmergeの違い その1
rebaseとmergeの違い その2
簡単に説明すると、 rebaseは付け替え、mergeは合流

//rebaseはブランチの分岐元を最新のmasterのHEADに合わせる
$ git rebase master

//mergeはブランチに最新のmasterを合流させる
$ git merge master

これを踏まえると、rebaseの前後ではブランチが変わっていることがわかります。