誤りから復旧する
バージョン管理システムを使うメリットの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
複数ユーザーで共同作業するときの典型的なワークフロー
- ある程度の間隔で、git fetch/git mergeを使って「共有リポジトリ」の内容を自分のリポジトリに反映させる。
- 自分のリポジトリでコミットを行う。
- 公開してもよい状態になったら、git pushコマンドを使って「共有リポジトリ」に履歴を送る。
競合を解決する
競合の差分
git diff
Gitのマニュアル
Git本体のマニュアルを表示する
man git
git logのマニュアルを表示する
man git-log
gitのヘルプを表示する
git help
git logのヘルプを表示する
git help log
コメント