auの日記

プログラミング初心者の日記。(auはハンドルネームです)

Git操作でみんなが詰まったところ

auです。

現在、大学でGitの操作を学んでいます。

自分含めて、みんな詰まってしまったと思ったところをまとめてみようと思います。

ローカルでのマージとリモートでのマージ

「マージ」と聞くと、全てmasterに繋げてしまうのではないかという認識が強かったです。

しかし、これはリモートレポジトリのマージで主に使います。

ローカルレポジトリでのマージは、masterでの更新を、古いmasterから切ったブランチに対して行うことが多いです。こうすることで、最新のmasterの状態を、編集中のブランチにも適応することができます。

stash

masterが更新されたけど、今のブランチの編集がいいタイミングじゃないって時に使ったりします。

変更を一時退避させるやり方なので、stashしてからmasterを更新して、変更を戻してから現在のブランチにマージという感じでやります。

masterで変更があったけどどうやって反映させるんだ・・・という問題はこれで対処しました。

reset

commitをなかったことにする場合に使います。

やばいミスった!って時に使えるとめちゃめちゃ便利でした。

reflogと併せて使うことで、「ある特定の操作をする前」に戻すことができて、失敗をなかったことにできます。

ミスってmasterで少し編集をしてしまった

あるあるですね。stashで解決します。

他人のpushしたブランチを見たい

アプリの機能追加などでは、実際に触ってみないとバグなどを見つけることもできません。

masterに戻ってpullをすると、pushされたブランチが入ります。

checkoutして乗り込みましょう。

commitした時にメアドとユーザ名が違う

git log を試した時に、実際に使うはずのメアドなどが違う時があります。

git config -l

これで確認して、一番下にあるuser.emailとuser.nameが反映されています。

git config --local user.email "メアド"
git config --local user.name "ユーザ名"

これで解決できます。



よくあったミスと、よく質問されたGit関連のことを書いてみました。