FrontPage > Gitの覚書

コマンドラインから使用する。

  • システム構成
    OSWindows 7

1.Gitのインストール

  • http://git-scm.com より、msysGitを取得し、インストール。

  • C:\Users\<ユーザ名>\_vimrcを作成

    (_vimrc)
    set fileencoding=utf8
    
  • C:\Program Files (x86)\Git\etc\inputrcを編集

    (inputrc)
    #set input-meta on <- コメントアウト
    set output-meta on
    set convert-meta off
    set kanji-code utf8 <- 追加
    
  • C:\Program Files (x86)\Git\etc\profileを編集
    最終行に追加

    (profile抜粋)
    alias ls='/bin/ls --show-control-chars'
    
  • スタートメニューから"Git Bash"を実行
    文字化けする場合はプロパティからフォントを確認して「OK」ボタンを押す。
    git_bash01.png

    以下のコマンドを実行する。
    $ git config --global user.name "<ユーザ名>"
    $ git config --global user.mail "<メールアドレス>"
    $ git config --global core.quotepath off
    $ git config --global push.default simple

2.ローカルリポジトリの作成

  • Git Bashで以下のコマンドを実行
    $ cd <リポジトリを作成するフォルダ>
    $ mkdir gitSample
    $ cd fitSample
    $ git init

3.コミット

  • 管理対象ファイルを適当に作成する。
    $ vim hogehoge.txt
  • 状態を確認する
    $ git status
  • ローカルリポジトリへコミットする
    $ git add hogehoge.txt
    $ git commit
  • ログを確認する
    $ git log

4.リモートリポジトリへpushする。

  • リモートリポジトリをoriginという名称で登録
    リモートリポジトリgitSample.gitを予め作成しておく。
    $ git remote add origin ssh://git@<サーバ名またはアドレス>/opt/git/gitSample.git
  • ブランチ確認
    (masterとなっているはず)
    $ git branch -a
    * master
  • pushする。
    $ git push -u origin master
  • リモートのログを確認
    $ git log origin/master

5.リモートリポジトリからローカルリポジトリを作成する。

  • リモートのgitSample.gitをコピーして、
    ローカルにgitSample2という名称のリポジトリを作成してみる。
    $ cd ../
    $ git clone ssh://git@<サーバ名またはアドレス>/opt/git/gitSample.git gitSample2

6.リモートの変更をローカルへ取得する。

gitSample2でファイルを変更してpushし、gitSamplでその変更を取り込んでみる。

  • gitSample2でファイルを編集してpushする。
    $ vim hogehoge.txt
    $ git add hogehoge.txt
    $ git commit
    $ git push
  • gitSamplへ移動
    $ cd ../gitSample
  • ブランチを確認
    $ git branch -a
  • リモートのログを確認
    (fetchしていないので、ここではまだ変更は見えない)
    $ git log origin/master
  • リモートの変更を取得(origin/master情報が更新される)
    $ git fetch
  • 再度リモートのログを確認
    (FETCH_HEADはorigin/masterを指している)
    $ git log FETCH_HEAD
  • リモートとのdiff
    $ git diff FETCH_HEAD
  • 変更をローカルのファイルに反映する。
    $ git merge FETCH_HEAD
  • 競合していた場合は、ファイルを修正しコミットする。
    $ vim hogehoge.txt
    $ git add hogehoge.txt
    $ git commit

fetchとmergeを一度に行う

$ git pull origin master

7.ブランチを作成する。

  • topicという名称でブランチを作成してみる。
    $ git branch topic

8.作業ブランチを切り替える。

  • topicブランチに切り替える。
    $ git checkout topic

9.ローカルで作成したブランチを共有する。

  • topicブランチでファイルを適当に編集してコミットしておく。
  • ブランチを共有する。
    $ git push -u origin topic

10.リモートのブランチを取得する。

上記で共有されたブランチをgitSample2で取得する。

  • リモートの情報を更新する。
    $ cd ../gitSample2
    $ git fetch
  • リモートのorigin/topicブランチからローカルにtopicブランチを作成し、切り替える。
    $ git checkout -b topic origin/topic

11.ブランチをマージする。

topicブランチをmasterブランチにマージしてみる。

  • masterに切り替え
    $ git checkout master
  • topicブランチをマージする。
    $ git merge topic
  • 競合している場合はファイルを修正し、コミットする。
    $ git status -s
    $ vim hogehoge.txt
    $ git add hogehoge.txt
    $ git commit
    $ git push

12.タグをつける。

  • HEADにタグをつける。
    $ git tag <タグ名>
  • コミットを指定してタグをつける。
    $ git tag <タグ名> <commit>
  • タグを削除する。
    $ git tag -d <タグ名>
  • すべてのタグをリモートへ反映させる。
    $ git pushu --tags
  • 指定したタグをリモートへ反映させる。
    $ git push <タグ名>
  • リモートのタグを削除する。
    $ git push --delete <タグ名>

13.履歴ツリーをGUIで表示する。

$ gitk --all




添付ファイル: filegit_bash01.png 69件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-28 (日) 19:11:24 (473d)