c-bata web

@c_bata_ のメモ。python多め

gitコマンド早見表

今までgitについて勉強してからこのサイトにまとめてきましたが今回は早見表を作成します。

使い方がよくわからないものなどがあれば,それらを御覧ください。


初期設定

  • gitのバージョン確認
$ git --version


- gitの作業用フォルダの指定 作業用フォルダに移動してから

$ git init


  • 名前とメールアドレスの登録
$ git config --global user.name "名前"
$ git config --global user.email "メールアドレス"


  • メッセージを色分けするために便利な設定(任意)
$ git config --global color.ui true


  • 設定の確認
$ git config -l


  • configのヘルプ機能
$ git config --help
もしくは
$ git help config


コミット

  • 指定したファイルを作業ディレクトリからステージングエリア(インデックス)に送る。
$ git add ファイル名


※フォルダ内の全てのファイルに適用させるなら↓のコマンド

$ git add .


git commit

↑を入力するとエディター(vim)が立ち上がるので,分かりやすいメッセージを入力して保存。


  • コミットの時に,一緒にメッセージも付け加える。
$ git commit -m "メッセージ"


ログ関連のコマンド

  • ログの表示
$ git log


  • git logコマンドのオプション(oneline, p, stat)
$ git log --oneline

onelineオプションは,ログを1行で表示してくれます。

$ git log -p

pオプションはコミットの情報だけでなく,実際になにがどう変更されているのかを表示

$ git log --stat

pオプションは「なにがどう変更されたか」を表示しますが,statオプションは「どのファイルが何箇所変わったか」を表示できます。

ソースコードの状態を確認

$ git status


より具体的な状態を表示させるのは,↓のコマンド

$ git diff


※git status,git diffコマンドは,ステージングエリアにあげていないものに対しては使えるのですが,一旦ステージングエリアに上げてしまった場合,↓に示すようにcachedオプションをつける必要があります。

$ git diff --cached


ファイル操作

  • git 管理下にあるファイルの操作 ファイルを削除する場合にはrmコマンドなどを使用しますが,ただファイルを消去してもステージングエリアなどには残ってしまいます。 そのため↓のコマンドを入力
$ git rm ファイル名

※ mvコマンドでも同様にgitをつければ大丈夫です。


  • git管理に含めない方法

".gitignore"というファイルを作成して,そのなかに対象から外すファイルの名前を書き込めば大丈夫です。 .gitignoreでは,ワイルドカード(*.txt等)を利用することが出来ます。 ちなみに".gitignore"は,それのある階層以下に存在するものに適用されます。


  • 直前のコミットを変更
$ git commit --amend
  • git commit --amendを取り消し
$ git reset --soft HEAD@{1}


過去のバージョンに戻る

$ git reset --hard コミットID

↑に示したようにコミットIDを指定することで,違うバージョンに戻ることが出来ますが,↓に示すように簡単に省略できる場合があります。

※1つ前のコミットに戻るとき
$ git reset --hard HEAD
※2つ前のコミットに戻るとき
$ git reset --hard HEAD^
※一度,戻ったけど,やっぱり1つ先のコミットに戻る
$ git reset --head ORIG_HEAD


ブランチについて

  • ブランチの一覧を表示
$ git branch


  • ブランチの作成
$ git branch ブランチ名


  • ブランチの移動
$ git checkout ブランチ名


  • ブランチのマージ
$ git merge ブランチ名

※マージさせたい先のフォルダに移動した後,マージさせたい元のフォルダを指定することに注意


  • ブランチの削除
$ git branch -d ブランチ名


  • コンフリクトの解決

git statusコマンドにより,コンフリクトが発生したファイルを調べ,そのファイルを好きなエディターで正しい形に書きなおす。


共有リポジトリ

$ git init --bare
  • 共有リポジトリの中身を自分の管理しているディレクトリにコピー
$ git clone 共有リポジトリへのパス 自分のgitディレクトリへのパス
  • push
git push origin master
  • pull
$ git pull origin master
  • 共有時のコンフリクトの解決

プッシュしようとすると,エラーが発生した場合

一度プルするように促されるので,一度プルする。 マージの時と同じように,コンフリクトが発生したなら直接エディタで正しい形に編集してからプッシュする。


以上です。

とりあえず今までの勉強内容でgitの基本的な使い方は覚えたかと思いますが,今後必要に応じてタグの使い方やEGit(EclipseからGitを扱うためのプラグイン)の使い方などを勉強していくつもりです。

それらのコマンドについては,勉強したら順次追加していきます。