バージョン管理システム「Git」について(その3)

プログラミング
スポンサーリンク

誤りから復旧する

バージョン管理システムを使うメリットの1つが、何か誤りが起きた時に過去の状態に巻き戻せるということです。

ワークツリーに対する誤りからの復旧

ワークツリーを元に戻す
git checkout HEAD .

誤ったコミットの復旧

コミットを取り消す
git revert 取り消したいコミットのオブジェクト名

ブランチを使う

枝分かれしたそれぞれの履歴の道筋のことをブランチ(枝)と呼びます。

ブランチを一覧表示する
git branch
結果
* master


masterというのはGitリポジトリを作成したときに自動的に作成されるブランチです。

新しいブランチを作成する
git branch ブランチ名

ブランチを切り替える
git checkout 移動先ブランチ名

1つのブランチの内容を別のブランチに取り込むことをマージと呼びます。

指定したブランチを現在のブランチにマージする
git merge マージするブランチ名

ブランチを削除する
git branch -d ブランチ名

ブランチを切り替えることで異なる作業を平行して行うことができます。

新しい機能を作成している途中でも機能を追加する前の状態にすぐ戻ることができます。

リポジトリのバックアップを作成する

作る場所はどこでもよいのですが、今回は/home/kali/shera/findgrep.git/という場所に作成します。

バックアップ用リポジトリを作成する
mkdir -p /home/kali/share/findgrep.git
cd /home/kali/share/findgrep.git
git –bare init

変更の履歴を送る
git push /home/kali/share/findgrep.git master:master

リポジトリを複製する
git clone 複製元リポジトリ

リポジトリパスに別名を設定する
git remote add 別名 リポジトリパス

リポジトリパスの別名を一覧表示する
git remote -v

2人以上で作業する

それぞれのリポジトリが独立していて、リポジトリ同士で変更履歴を共有できる機能を持つバージョン管理システムのことを分散型バージョン管理システムと呼びます。

Gitは代表的な分散型バージョン管理システムの1つです。

他のリポジトリの変更を取り込む
git fetch リポジトリ

git fetchコマンドで所得した履歴は、リモート追跡と呼ばれるブランチに保存されます。

リモート追跡ブランチを表示する
git branch -r

git pullコマンドで履歴を取得する
git pull origin master

複数ユーザーで共同作業するときの典型的なワークフロー

  1. ある程度の間隔で、git fetch/git mergeを使って「共有リポジトリ」の内容を自分のリポジトリに反映させる。
  2. 自分のリポジトリでコミットを行う。
  3. 公開してもよい状態になったら、git pushコマンドを使って「共有リポジトリ」に履歴を送る。

競合を解決する

競合の差分
git diff

Gitのマニュアル

Git本体のマニュアルを表示する
man git

git logのマニュアルを表示する
man git-log

gitのヘルプを表示する
git help

git logのヘルプを表示する
git help log

コメント

タイトルとURLをコピーしました