LoginSignup
0
1

More than 3 years have passed since last update.

覚えておくと便利なGitコマンド

Last updated at Posted at 2019-05-13

概要

覚えておくと超便利~のGitコマンドをメモしておきます!
φ(..)メモメモ

一旦他のブランチに切り替えたい

作業中に他の人のプルリクをレビューするなど、ブランチ切替が必要な際に使っています。

現在の作業を一旦退避

git stash

現在の作業を一端addしてから、上記のコマンドを打つようにしてください。
addしないと、作業した内容が消えてしまったはず。コワイなーコワイなー。

ブランチ名を変更したい

ブランチ名スペルミスしてる!ダサ!push前に何とかバレずに修正したい

git branch -m [新しいブランチ名]

現在作業しているブランチ名を修正したい場合です。

git branch -m [古いブランチ名] [新しいブランチ名]

ローカルにあるブランチ名を修正できます。

退避した作業の復元

git stash pop

作業していたブランチに戻ってから、上記のコマンドを打つとstashした際の変更内容が蘇ります。ホッと一安心する瞬間です。

空コミットしたい

git commit --allow-empty -m "empty commit"

"empty commit"はコミットメッセージなので、なんでもOKです。
空コミットは、複数の人数で開発を進める際に使っています。

空コミット → push → プルリク

作業前にプルリクを出すことで、『自分がこれからこの作業をするよ!』とメンバーにアナウンスします。作業のバッティングを防ぐこと、自分の作業報告を目的としています。
ちなみに、作業中のプルリクにはタイトルで [WIP] を頭につけるのが、私達チームのルールです。「Work In Progress」の略で、『まだレビューしないでね!!』というメッセージが含まれています。

コミット履歴の確認

git log --oneline

リポジトリのコミット履歴を簡易確認できます。Enterを押し続けると、より古いコミット履歴が出力し続けます。「q」を入力すると、一覧から抜け出すことができます。

昔のコミットに戻るとき

git checkout [ログID]

ログIDを指定(上記のコミット履歴の確認 参照)することで、指定したコミット状態に蘇ることができます。

直前のコミットに戻るとき

git reset --soft HEAD^ 
git reset --hard HEAD^

--soft:内容はそのままでコミットだけを取り消す
--hard:内容とコミット両方を取り消す

Gitの管理ファイルリスト生成

git ls-files > list.txt

ルート直下に、list.txt のテキストファイルが作成されます。
納品ファイルをリスト化して報告する際に、役立ちます。

すでにコミット&pushしてしまったファイルを削除したいとき

普通にGUIで削除しても、復活してしまいます。(多分他の人のリポジトリに残ってるから?)git rm を使います。

git rm [削除したいファイル]

ファイルをgitの管理対象から削除

git rm -r [削除したいディレクトリ]

ディレクトリをgitの管理対象から削除

git mv [移動したいファイルやディレクトリ] [移動先のパス] 

ディレクトリやファイルの移動・リネーム

git rm --cached [ファイル名]

Gitの管理対象からは外すけれど、手元には残しておきたい場合

おわりに

GitHub導入当時、真っ黒な画面が怖くて怖くて仕方なかった私をそっと抱きしめて「大丈夫だよ。そう簡単にはデータ壊れないよ。ちょっとしたら慣れてお茶の子さいさいだよ。」って伝えてあげたい。

もうGit管理ができない世界なんて考えられない!くらいに、寝返っているのだから。

「SourceTree使うとコンフリクトエラーのときに対処しきれなくなるから、黒い画面使って、ちゃんとコマンド書いてほしいな~」と圧かけてくれた上司に今は心より感謝なのです!
VSCodeを利用してGit管理することでも、かなりとっつきやすくなりました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1