Windows用のGitクライアント

  • Git for WIndows
    コマンドラインでgitを使えるGit BashとGUIのGit GUIが提供されます。
  • TortoiseGit
    SVNでおなじみのTortoiseのGit版。GUIで簡単に使うことができます。

Gitインストール後に必要な作業

ユーザ名とメールアドレスの設定が必須となります。(これを登録しないとエラーや警告となる)

git config --global user.name "xxx xxx"
git config --global user.email "xxx@xxx.com"
git config --global push.default simple #or matching

以下は任意

git config --global core.autoCRLF false

リポジトリの作成

  • リモートリポジトリの作成
    git --bare init --shared
    

    –bare:作業ファイルを作成せず管理ファイルのみ作成するオプション(リモートリポジトリの場合はこのオプションを付ける)
    –shared:複数人で使用する場合につける。(つけないとファイルがumask指定のパーミッションとなり、push時にrejectされる)

  • リモートリポジトリをローカルにコピーする

    git clone git://xxx.com/sxxx/xxx.git #リモート先から
    git clone file://C:/xxx/xxx.git #ファイルから
    
  • ローカルリポジトリを作成し既存のファイルを登録する
    git init #ローカルリポジトリの作成
    git remote add origin git://xxx.com/sxxx/xxx.git #originという名前でリモートリポジトリを登録する(git cloneするときに付くデフォルト名と同じにしている) 
    git add . #既存のファイルをステージする
    git comimt -m "comment" #コミットする
    git config branch.master.remote origin #git pushでorigin masterを省略するための設定
    git config branch.master.merge refs/heads/master #git pushでorigin masterを省略するための設定
    git push #リモートリポジトリにファイルを登録
    

操作

  • 状態確認
    git status
    git diff
    git log
    
  • 削除
    git rm -r xxx #-rはディレクトリ毎削除する場合。物理ファイルも削除 
    git rm --cached xxx #管理対象から外れるが、ファイルは削除されない。
    
  • 登録
    git add xxx #ファイルをステージする
    git commit -m "comment" #コミット
    git push [リモート先] [ローカルのブランチ]:[リモート先のブランチ] #リモート先にブランチを登録する。ex) git push origin master:master
    
  • リモート
    git remote set-url origin file://C:/xxx/xxx.git #登録しているリモート先のURL変更
    

対象外ファイルの登録

.gitignoreファイルを作成して、管理対象外のファイルパターンを登録することができる。
これを作るとgit statusやgit add *コマンドの対象外とすることができる。
以下は.gitignoreファイルのサンプル

# コメント。これは無視されます
# .a ファイルは無視
*.a
# しかし、lib.a ファイルだけは .a であっても追跡対象とします
!lib.a
# ルートディレクトリの TODO ファイルだけを無視し、サブディレクトリの TODO は無視しません
/TODO
# build/ ディレクトリのすべてのファイルを無視します
build/
# doc/notes.txt は無視しますが、doc/server/arch.txt は無視しません
doc/*.txt
# doc/ ディレクトリの .txt ファイル全てを無視します
doc/**/*.txt

※引用元:https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E5%A4%89%E6%9B%B4%E5%86%85%E5%AE%B9%E3%81%AE%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%B8%E3%81%AE%E8%A8%98%E9%8C%B2

ブランチ

      • ブランチの作成
        以下のコマンドでブランチを作成。この時点では作成したブランチには移動されない。

        git branch xxx
        
  • 現在作業中のブランチの切り替え
    現在作業中のブランチへのポインタをHEADという。HEADを以下のコマンドで切り替える。

    git checkout xxx
    git checkout -b xxx #ブランチ作成と同時に切り替えを行う場合
    
  • マージと不要なブランチの削除
    git merge xxx #作業中ブランチにxxxブランチをマージする
    git branch -d xxx #不要なブランチを削除
    
  • コンフリクトの解消
    git status #コンフリクトしているファイルの確認
    git add xxx #コンフリクトを解消したファイルをステージする
    git commit #コミットする