バージョン管理流れ

 

 作業ディレクトリ:ファイルの作成・修正

  ⇩($ git add ファイル名/.

 ステージングエリア(インデックス):作業経過の保存(機能作成)

  ⇩ ($ git commit-m: コメント追加  --amend: logに残さない

 リポジトリ(ローカル、リモート):まとまり(機能)を保存

 

===================================================

 

コマンド

 

   コマンド一覧 

            $ config --help

 設定

    $ git config --global user.name "USERNAME"

    $ git config --global user.email "EMAIL"

            $ git config --global color.ui true   (色付)  

            $ git config --global alias.エイリアス名 対象の命令 (エイリアス付)

            $ git config -l   (設定内容)

   作業ディレクトリ宣言

    $ git init

            $ git init --bare (共有リポジトリとして) 

   コミット履歴

            $ git log                (commitID・Author・Date・Message)

       オプション   コンパクトに  --oneline  (commitID7桁・Message)

           より詳しく  -p              ($ git log + 変更内容(行数、内容))

           ファイル一覧で -stat          ($ git log + ファイル名|変更数)

 状態確認

    $ git status             (状態・対象ファイル)

   編集内容(addする前)

    $ git diff                (変更内容(行数、内容))

   編集内容(commitる前)

    $ git diff --cached  (変更内容(行数、内容))

 編集を戻す

    $ git reset --hard HEAD(直前)/HEAD^(2つ前)/戻したいcommitID

   戻した編集を戻す

    $ git reset --hard ORIG_HEAD(直前)

 

 ブランチ作成

    $ git branch "ブランチ名"

       削除

    $ git branch -d "ブランチ名"

     移動

    $ git checkout  "移動先ブランチ名"

      作成+移動

    $ git checkout -b "ブランチ名"

     マージ(ブランチ同士commitを反映させる

    $ git merge "マージするブランチ名"

 

 タグ付(commitIDに名前付)

    $ git tag "タグ名" commitID 

     *指定無しの場合は直近のコミット、削除は-d

    

    共有/リモート リポジトリの追加

    $ git remote add リポジトリの名前宣言 追加されるリポジトリの位置

               *削除は-rm

     

       Push

            $ git push Pushsするリポジトリの名前 Pushするブランチ名

 

     リポジトリを複製する

    git clone 複製元リポジトリの位置 複製フォルダ名

     

        Pull

            $ git pull リポジトリの名前 ブランチ名

 

===================================================

( memo: A, B, 共有リポジトリ 流れ

    -->共有リポジトリの作成(bare)

    -->Aでリポジトリの追加(remote)

            -->Bはそのリポジトリを元に作成(clone)

                     するとAの複製Bができる

    -->Bで編集後、ファイルをPush

            -->AでPullするとファイルの内容がマージされる )

    

 

    

 

 コンフリクトの解消(同じファイルを違うブランチで各々変更後マージした時に起きる衝突)

        -->ファイルに編集をかけて再びadd,commitする

 

 バージョン管理しないファイル

        --> .gitignoreファイルを作成(* .log などと指定)

        --> 指定したファイル(拡張子が.log)は管理下に置かれない

 

 

※git管理下のファイルなどを削除、移動する際はgit rm などして(linuxコマンドなどで)直接削除しないように。