テックキャンプ106日目〜変更を元に戻す・リモートをローカルに反映

kobasaです(´ω`*)
最終課題が終わり、はっきり言ってダレていました(´・ω・`)

ライフコーチと面談することでちょっぴり気合を入れ直せた気がします。
最近では無いですが、卒業された方が東京で年収450万の会社に就職できたという話を聞きました。
卒業発表会でもかなり凝ったオリアプを披露されていたそうです。
好条件の会社を目指して、改めてしっかり勉強していこうと思いました。

106日目の勉強内容

リモートでの変更を元に戻す

ワークツリーのファイルの変更を取り消す

git checkout --ファイル名
git checkout -- ディレクトリ名

ステージの情報をワークツリーに反映させて変更を戻す処理をしている。

ステージに追加した変更を元に戻す

git reset HEAD ファイル名
git reset HEAD ディレクトリ名

直前のコミットでステージの内容を上書きしている。
HEADは現在のブランチの最新のコミットのこと。

変更をステージから取り消すだけなのでワークツリーのファイルには影響を与えない。
ワークツリーの変更も取り消したければその後にgit checkout –ファイル名コマンドが必要。

直前のコミットを修正したいとき

git commit --amend

修正漏れでコミットしてしまった場合は、まずはワークツリーでファイルを修正し、git addを実行。
その後、git commit --amendでステージの内容で直前のコミットを上書きする処理。

ただしリモートにプッシュしたコミットはやり直してはいけない!!チーム開発で他メンバーと辻褄が合わなくなる。

リモートリポジトリの情報をローカルに反映させる

フェッチを使用する方法

git fetch リモート名 ブランチ名
リモートリポジトリからローカルリポジトリのリモートの保存場所に保存される。ワークツリーには反映されない。
remotes/リモート/ブランチ ディレクトリに情報が格納される。

git merge リモート名/ブランチ名
ワークツリーにリモートリポジトリから取得した内容を反映させる。

プルを使用する方法

git pull リモート名 ブランチ名
リモートから情報を取得してマージまでを一度にやりたいときにプルを使う。
マージも行うので1つのコマンドでワークツリーに反映される。

上記コマンドは省略可能
git pull

また下記コマンドを実行するのと同じ
git fetch origin master
git merge origin/master

フェッチとプルの使い分けは、慣れるまではフェッチ⇨マージを使うのがおすすめ。
プルは指定したリモートのブランチの情報を「現在のブランチ」にマージさせる。
ブランチが異なっているとブランチごと上書きされてしまう。

コメント

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