ハードウェア技術者のスキルアップ日誌

某家電メーカーの技術者がスキルアップのために勉強したことを記録するブログです

Linuxコマンドまとめ⑥ - GIT

Linuxの勉強も6回目になりました。一応今回で一区切りにしたいと思います。
今回のテーマはGIT(バージョン管理システム)です。
コマンドだけでなく概念的なところまで勉強したので、まとめを残しておきます。

インストールと初期設定

$ sudo apt-get install git-core                  # GITのインストール
$ git config --global user.name '名前'           # 名前の登録
$ git config --global user.email 'メールアドレス' # メールアドレスの登録
$ git config --global color.ui auto              # カラー出力を有効に

設定は~/.gitconfigに保存される

 

基本的な使い方

$ mkdir -p ~/git/work         # 作業ディレクトリを作成
$ cd ~/git/work
$ git init                         # ディレクトリの初期化(リポジトリの作成)

$ git add <ファイル名>           # ファイルをコミット対象として登録
$ git add -u               # 変更したファイルをすべてadd
$ git add -A               # 変更したファイル+新規作成ファイルすべてをadd
$ git commit -m '変更に対するコメント'  # リポジトリに登録

$ git status          # ワークツリーの状態表示
$ git diff            # ワークツリーとインデックスの差分表示
$ git diff --cached      # インデックスとレポジトリの差分表示
$ git diff HEAD # ワークツリーとレポジトリの差分表示

$ git log # コミットの履歴を確認
$ git log -p # コミットごとの差分を表示

$ git checkout HEAD .               # ワークツリーをレポジトリの状態に戻す $ git revert <取り消したいコミットのオブジェクト名> # コミットの取り消し

 

主な処理の実行イメージ

f:id:masashi_k:20190629234543p:plain

 

ブランチを使う

一つのリビジョンから複数のコミットを派生させることができる

$ git branch                         # ブランチの一覧表示
$ git branch <ブランチ名>             # 新しいブランチの作成
$ git checkout <移動先ブランチ名>      # ブランチの切り替え
$ git merge <マージするブランチ名>     # ブランチのマージ
  ※ マージ先ブランチ(残す方)を選択した状態でgit mergeを実行
$ git branch -d <ブランチ名>          # ブランチの削除

 

f:id:masashi_k:20190629235927p:plain

 

リモートレポジトリ

ソフト開発など複数人で作業をする場合にはローカルのレポジトリとは別にサーバーを立てて、そこにリモートのレポジトリを作成する。

ローカルで作業した内容をリモートに反映させたり、リモートの内容を取得することもできる。

$ git remote add <リポジトリ名> <リポジトリパス>     # リポジトリパスの名前を付ける
$ git push <リモートリポジトリ名> <ブランチ名>       # ローカルリポジトリの変更をリモートリポジトリに送信
$ git pull <リモートリポジトリ名> <ブランチ名>       # リモートリポジトリの内容をローカルリポジトリに反映

$ git clone <リモートリポジトリ名> # リモートリポジトリの内容を複製する

 

   f:id:masashi_k:20190630003004p:plain

 

参考文献

以上6回の内容は以下の書籍を使って勉強しました。

新しいLinuxの教科書

新しいLinuxの教科書