Help us understand the problem. What is going on with this article?

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

はじめに

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

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

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

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

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

対処法

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

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

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

普段はブログの方で記事を書いているので、興味ある方はぜひ!
Blog:https://terrblog.com/

terry_6518
自社開発のITベンチャーで業務委託しているフロントエンドエンジニアです。 ブログでは初学者向けのVue.js、PHP(Laravel)の記事を主に投稿しています。
https://terrblog.com/
yowayowa-engineer
弱々エンジニア会とは駆け出しエンジニアやベテランエンジニアまで、弱々から強々まで幅広く集まるコミュニティのエンジニア集団です!!メンバー募集してますので気になる方は、URLよりSlackに参加ください!条件等は特にありません!
https://join.slack.com/t/yowayowa-engineer/shared_invite/zt-do4vhhzm-Yj~6DIMIfvqMvHm0hcXGrA
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした