Hatena::ブログ(Diary)

LeafCage備忘録 このページをアンテナに追加 RSSフィード Twitter

August 13(Sat),2011

WinXPでGit導入の手引き(書きかけ)

  • 利用OSWindowsXP(32bit)
  • 今回使うGit:PortableGit-1.7.6-preview20110709
  • 兀兀 -雑多編-を参考にする。ただし、別の使い方をするので、若干やり方を変える。

  • インストールする
    1. http://code.google.com/p/msysgit/downloads/listに行き、ダウンロードして適切な場所に解凍する。
    2. 環境変数PATHに〔(インストールしたディレクトリ)\PortableGit-1.7.6-preview20110709\bin〕を加える。
    3. リブートする

  • SSH公開鍵を作成する
    1. コマンドプロンプトを起動して、ホームディレクトリに移動する。
    2. $ git config --global user.name "username"
    3. $ git config --global user.email xxx@xmail.com
    4. $ ssh-keygen(SSH 公開鍵を作成する*1
    5. .ssh/id_rsa.pubの中身をクリップボードにコピーしておく

  • GitHubに登録する*2
    1. GitHubアカウントを作る
    2. “Account Settings” >“SSH Public Keys” >“Add another public key”に先ほどコピーしたキーを貼り付ける
    3. $ ssh -T git@github.comでテスト。"yes"をタイプして"HI username!"的なことを言われたら成功
      1. .ssh/known_hostsが作成される
    4. “Account Settings” >“Account Admin.”のAPI Token文字列をコピーして$ git config --global github.token (コピーした文字列)

  • 試しにリポジトリを作ってみる(※リポジトリ=データ所蔵庫的な意味)
    1. Create Repositoryをクリックする
    2. 出てきたチュートリアル(Global setup:とかNext steps:)に沿ってコマンドを打つ。※ただし、コマンドプロンプトの場合、シングルクォーテーションはダブルクォーテーションにしないと通らない。
      1. 専用ディレクトリを作ってcdにする
      2. $git init
      3. $touch README(実験ファイルとしてREADMEを作る)
      4. $git add README
      5. $git commit -m "first commit"
      6. $git remote add origin <リモートURL
      7. git push -u origin master


Git使用法

gitはWork Tree(ローカル)、Index、HEAD commit(個人レポジトリ)に分かれていて、
"git add"でIndexにファイルのスナップショットを撮る、"git commit"で実際にに記録する。
以下のページを見るとイメージが掴みやすい。
Gitを触ってみるよ その1「Gitのイメージと初めてのコミット」 - Stellaqua - TOMの技術日記
誰得UNIX: ステージを理解して git をもっと便利に使う
図解 Git
書き留めておくところ: gitの使い方を整理しておく

git add
WorkTreeの内容をIndexに反映する
git commit
Indexの内容をHEAD commitに反映する

基本的なコマンド
参考:Gitを使いこなすための20のコマンド | OSDN Magazine
502 Bad Gateway
Git Cheat Sheets JP

git log
コミットされたログを見る(新しい順)
git reset <間違えてaddした要素>
指定した要素をIndexから除く
git reset --soft HEAD^
直前のコミットをアンドゥ
git revert <コミット名>
WorkTreeを指定したコミット時点にまで戻す(変更履歴に残る)

git branch <ブランチ名>
新しくブランチを作る
git branch
今あるブランチの一覧(*が現在アクティブ)
git checkout <ブランチ名>
ブランチ切り替え
git checkout -b <ブランチ名>
新しくブランチを作ってそれに切り替え
git show-branch
ブランチ作成履歴

git stash <保存名もしくはコメントなど>
コミットはしないけど現在の状態を一時的に保存(一時的に別のブランチに行くときなど)
git stash list
スタッシュされてるWorkTreeのリスト

参考:git rebaseとgit mergeはともだち こわくないよ - 北海道苫小牧市出身の初老PGが書くブログ

git merge <取り込むブランチ>
マージ(統合)する
git rebase <派生元ブランチ>
現在ブランチの派生元の最新の版から派生し直す
git rebase --abort
rebaseを取り消す


git remote
設定済みのリモートリポジトリ(ネットワーク上にあるプロジェクト)一覧
git remote -v
url付きで表示
git remote add [shortname] [url]
リモートリポジトリ短縮名の追加(以後urlの代わりにショートネームでアクセス可能に)
git fetch [remote-name]
リモートからまだ持ってないデータを引き出す
git pull
クローン元の変更点を現在のブランチにマージ(統合)
git pull <変更点の取り込み元リポジトリURL>
現在のブランチに、リモートから変更点をマージ
git push <送信先リポジトリURL> <送信するブランチ>
他のリポジトリに自分のリポジトリの内容を取り込ませる。送信先にブランチがない場合は新規作成される。
git push <送信先リポジトリURL> <送信するブランチ>:<送信先ブランチ>
送信先のブランチを指定した場合。

※git pushで競合が起きて失敗したら、git pullで競合部分を取得してローカルリポジトリを修正するのが簡単

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/leafcage/20110813/1313245422