Gitに慣れていない人がよくハマるパターンと対処法まとめ

  • 2021年7月5日
  • 2021年7月7日
  • git
  • 24view
git

はじめに

Gitって難しいですよね。本当に!

プログラミング歴1年弱の自分がチーム開発に加わる様になってに一番不安なのはGitの扱いです。
ミスにビクビクしながら、日々を過ごしています。

そんな僕が初学者達が現場でうま〜く立ち回れる様に、Gitに慣れていない人がよくハマるパターンと対処法をまとめました。参考になれば幸いです。

作業ブランチ間違えて作業しちゃった!!パターン

これは僕が一番やっちゃうやつです!
作業している途中や、git statusしている辺りでブランチを間違えていた事に気がつきます!

対処法

1 git stash -u  
 一旦、作業していた分を退避する

2 git switch 正しいブランチ名
 正しいブランチに切り替える

3 git stash pop 
 退避していた分を正しいブランチの方に持ってくる

作業中に他の作業が差し込みで入った時なども、git stashで一旦退避させる事でブランチの切り替えが可能になります!

commitメッセージを記入し忘れたー!パターン

これはgit commitした後、ボーッとしててcommitメッセージを書き忘れたり、commitメッセージを書き間違えた時ですね。

対処法

これは簡単です!

git commit --amend -m 修正後のcommitメッセージ

git add .でいらんファイルまでステージングしちゃったー!パターン

本当はgit add .ではなく、git statusgit add ファイル名で1ファイルずつステージングしていくべきなのですが、自分は一度にcommitするファイルが多い為、git add .を好んで使います。

そうすると、なぜかステージング済にpackage.json君などの変更しちゃいけない子が行ってしまう時があります。そんな時の対処法はこちらです。

対処法

# ファイル名を指定して戻したい時
git reset ファイル名

#git addしたカレントディレクトリ配下の全てのファイルを戻したい時
git reset .

#git addした全てのファイルを戻したい時
git reset

いらない追跡対象外のファイルがなぜかたくさんあって、このままだとcommitできねえー!!パターン

多分、pathの設定ミスによって起きるんだと思いますが、、
追跡対象外のファイルが大量に変更済エリアに雪崩れ込んでくることがあります。

そんな時の一時的な対処法です。

対処法

# カレントディレクトリ内の追跡対象外のファイルを確認する
git clean -n
# カレントディレクトリ内の追跡対象外のファイルを削除
git clean -f

これで邪魔なファイル達は消えてくれるので、commitが進められます。

プルリクを送る先を間違えたーー!パターン

これは正確にはGitじゃなくて、Githubでのミスなのですがご愛嬌。
Githubからプルリクエストを送る時にdevelopに送りたいのに間違えてmasterに送っちゃったー!レビュアーの人に見られる!!的な場合の対処法ですね。

対処法

1 Githubで対象のプルリク のページに行きます。
2 下記の画像の右上のEditの所をクリックして完了です!
スクリーンショット 2020-03-05 0.35.52.png
3 下記の画像の様に、送り先のブランチを切り替えて、右上のSaveを押します。
スクリーンショット 2020-03-05 0.38.29.png

プルリクエストのLGTMぐらいカッコ良く出してええ!!パターン

これまた正確にはGitではありませんが、プルリクのレビュアーをする際にただテキストでOKやLGTMを出すだけでは味気ないですよね。
あまり開発で貢献できない分、コミュニケーションでチームを盛り上げて行きたい!そんな時の対処法はこちらです。

対処法

LGTMの画像を作って送りましょう。
https://lgtm.fun/

プルリクを出した人が乃木坂のファンならこちらを送り
image.png
最近鬼滅の刃を見た様ならこちらを送りましょう!
image.png

まとめ

とはいえ、今回書いたハマるパターンといってもうっかりミスがほとんどです!普段から確認を怠らない姿勢でGitを扱う事が一番の対処法だと思います。

補足(2020/3/7追記)

コメントにありましたが、常にシェルのpropmtにブランチやステータスを表示できるみたいです。

うっかりミスが多い人は参考にして下さい。

http://tm.root-n.com/unix:command:git:bash_prompt


フリーランスでフロントエンドエンジニアをしています。
お仕事のご相談こちらまで
gunners6518@gmail.com

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Compare
Wishlist 0
Open wishlist page Continue shopping