##はじめに
この記事では
・リポジトリの復旧、修正について
・競合(CONFRICT)とその対処方法について
お話ししていきたいと思います。(忘却録)
Gitの基本的な操作についてはこちらの記事を参考にしてみてください。
##リポジトリの復旧、修正について
ここでは作成したリポジトリに修正を加える操作について解説していきたいと思います。
###git revert コマンドについて
$ git revert オブジェクト名:相殺コマンド
取り消したい部分のコミットを打ち消す内容のコミットを行う
→1を無くすのではなく、1-1をして0(その前の状態)にするというイメージ
→その-1をするのがgit revertである
→履歴(git log)としては残る
###履歴ごと消したい場合
先程のは取り消したい部分のコミットを相殺することで復旧を行う形であったが
取り消した内容は履歴として残る
→完全にコミットをなかったものにしたい場合に使用される
$ git reset --soft HEAD^
HEAD:先頭→最新のコミットを表す
^→何個戻るかを示す(^:1個前 ^^:2)
##競合(CONFRICT)とその対処方法について
マージや反映(cherry-pick)などをした際、
変更前と変更後でうまく噛み合わなかった際に起きる
例)c1ブランチの内容をmasterブランチにマージ(統合)させようとした際
~競合が起きない例~
c1の内容
#こんにちは
#hogehoge
masterの内容
#こんにちは
~競合が起きる例~
c1の内容
#こんにちは
#hogehoge
masterの内容
#こんにちは
#fugafuga
またブランチやマージについてはこちらの記事をどうぞ
###具体的な発生時
発生時
<<<<<
=====
>>>>>
のような記号の表示が出る
これは
<<<<< ←ここから
=====
>>>>> ←ここまでの範囲で競合が起きた
と言うのを示している
###競合(CONFRICT)が起きた場合の対処について
これが発生した場合、競合が発生した範囲を目的のものに修正し、
git addとgit commitにより修正後のリポジトリを作成する。
また発生した記号については削除する必要がある。