このページに上手くまとまっていましたー! が、まだイマイチよくわからないので分かり次第、このハックを更新したいと思います。
追記
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の前後ではブランチが変わっていることがわかります。