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

こんにちは、フロントエンドエンジニアの[てりー](https://twitter.com/teriteri_code)です。
僕の詳しいプロフィールは[こちら](https://terrblog.com/about/)


<!-- wp:heading -->
## はじめに
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Gitって難しいですよね。本当に！</p>
<!-- /wp:paragraph -->

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

<!-- wp:paragraph -->
<p><strong>そんな僕が、初学者向けに現場でうま〜く立ち回れる様に、Gitに慣れていない人がよくハマるパターンと対処法をまとめました。</strong>参考になれば幸いです。</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
## 作業ブランチ間違えて作業しちゃった！！パターン
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>これは僕が一番やっちゃうやつです！<br>作業している途中や、<code>git status</code>している辺りでブランチを間違えていた事に気がつきます！</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
### 対処法 
<!-- /wp:heading -->

<!-- wp:code -->
<pre class="wp-block-code"><code class="">1 git stash -u  
 一旦、作業していた分を退避する

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

3 git stash pop 
 退避していた分を正しいブランチの方に持ってくる</code></pre>
<!-- /wp:code -->

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

<!-- wp:heading -->
## commitメッセージを記入し忘れたー！パターン
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>これは<code>git commit</code>した後、ボーッとしててcommitメッセージを書き忘れたり、commitメッセージを書き間違えた時ですね。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
### 対処法
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>これは簡単です！</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code class="">git commit --amend -m 修正後のcommitメッセージ</code></pre>
<!-- /wp:code -->

<!-- wp:heading -->
## <code>git add .</code>でいらんファイルまでステージングしちゃったー！パターン 
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>本当は<code>git add .</code>ではなく、<code>git status</code>→<code>git add ファイル名</code>で1ファイルずつステージングしていくべきなのですが、自分は一度にcommitするファイルが多い為、<code>git add .</code>を好んで使います。</p>
<!-- /wp:paragraph -->

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

<!-- wp:heading {"level":3} -->
### 対処法
<!-- /wp:heading -->

<!-- wp:code -->
<pre class="wp-block-code"><code class="">#　ファイル名を指定して戻したい時
git reset ファイル名

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

- git addした全てのファイルを戻したい時
git reset</code></pre>
<!-- /wp:code -->

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

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

<!-- wp:paragraph -->
<p>そんな時の一時的な対処法です。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
### 対処法
<!-- /wp:heading -->

<!-- wp:code -->
<pre class="wp-block-code"><code class=""># カレントディレクトリ内の追跡対象外のファイルを確認する
git clean -n
-  カレントディレクトリ内の追跡対象外のファイルを削除
git clean -f</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>これで邪魔なファイル達は消えてくれるので、commitが進められます。</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
## プルリクを送る先を間違えたーー！パターン
<!-- /wp:heading -->

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

<!-- wp:heading {"level":3} -->
### 対処法 
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>1 Githubで対象のプルリク のページに行きます。<br>2 下記の画像の右上の<code>Edit</code>の所をクリックして完了です！<br><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397606/3543dda7-25ec-f993-a0c2-ae16cb284dc5.png" alt="スクリーンショット 2020-03-05 0.35.52.png"><br>3 下記の画像の様に、送り先のブランチを切り替えて、右上のSaveを押します。<br><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397606/fb84dac3-888a-a3a1-ac20-730aaf151ff7.png" alt="スクリーンショット 2020-03-05 0.38.29.png"></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
## プルリクエストのLGTMぐらいカッコ良く出してええ！！パターン
<!-- /wp:heading -->

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

<!-- wp:heading {"level":3} -->
### 対処法
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>LGTMの画像を作って送りましょう。<br>

https://www.lgtmgen.org/ja
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>プルリクを出した人が乃木坂のファンならこちらを送り<br><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397606/f194b097-17a3-d7ca-3dbb-12bdea792407.png" alt="image.png"><br>最近鬼滅の刃を見た様ならこちらを送りましょう！<br><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397606/7c5d7775-9a15-bac9-d652-88ea64f2f419.png" alt="image.png" style="width: px;"></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
## まとめ
<!-- /wp:heading -->

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

#### また、未経験の場合、Gitに慣れるには現場に飛び込むのが一番早いです！

https://terrblog.com/team-programming/

#### あわせて読みたい

未経験者におすすめの転職エージェント：[未経験のITエンジニア転職におすすめの転職エージェント・転職先](https://terrblog.com/frontend-job-board/)

経験者の場合の副業先：[フルリモート週2~3日からでも副業が出来るエージェント紹介](https://terrblog.com/side-job-agent/)

好条件の正社員転職：[【転職ドラフト指名の画像アリ】2年目で600万の指名を獲得した僕が考える技術自信ナシでも転職ドラフトを使った方が良い理由](https://terrblog.com/job-draft-merit/)