これで脱初心者!Git,GitHubでよく使うコマンド一覧と使い方チートシート

Git,GitHubコマンド18個一覧と使い方チートシート

こんにちは、こばやしよしのり @yoshiii514 です。

現役エンジニアの僕が、普段からよく使うGitコマンドを整理してみました😊

コマンドをコピーして使えるので、Gitを使い始めたプログラミング初心者も使いやすいと思います。

このぐらいのコマンドが使えるようになると、業務でも困ることはないです👍

ブランチの操作

特定のブランチでローカルを上書きする

git fetch origin
git reset --hard origin/(上書きしたいブランチ名)

ブランチ確認

git branch

ブランチ作成

git branch hoge

ブランチをリモートへ登録

git push -u origin 作成したブランチ名

ブランチの削除

git branch --delete hoge

リモートブランチ削除

git push --delete origin branch_name

幽霊ブランチの削除

リモートブランチにはないけど、ローカルのリモートブランチにはある状態

消されるブランチを事前に確認する

git remote prune origin --dry-run

幽霊ブランチを削除(ローカルブランチを削除)

git remote prune origin

作業ブランチを移動

git checkout hoge

ブランチを、myProjetで作成してチェックアウトまで行う

git checkout -b myProjet

ブランチの派生元を調べる

一番下の行が派生元

git show-branch

作業ブランチにmasterブランチの差分を取り込む

作業ブランチとmasterブランチの差分を、作業ブランチに取り込む方法。masterのほうが修正が進んでいる場合。

手順1.作業ブランチの修正をコミット

git add ファイル名
git commit -m 'コミットメッセージ'

git addのときは、修正したファイル名を指定して追加しましょう。関係のないファイルの追加を防止するためにも、今回の修正対象となっているファイル名のみを指定します。

手順2.masterを最新に

git checkout master
git pull origin master

git pullは、git fetchを実行したあとに、git merge FETCH_HEADを実行する。

手順3.作業ブランチの変更分は既にcommitしてあるので、masterとの差分を取り込む

git checkout (作業ブランチ)
git merge master

コンフリクトが発生したら修正し、再度addとcommitをする。

コミットの操作

「git add」で追加された内容の確認(status)

「git add」するとステージングに追加される。その内容を確認するにはstatusコマンドを使う。

git status
(省略)
Changes to be committed:
  (use "git restore --staged ..." to unstage)
    new file:   FirebaseUISNSLogin/FirebaseUISNSLogin.xcodeproj/project.pbxproj
    new file:   FirebaseUISNSLogin/FirebaseUISNSLogin.xcodeproj/project.xcworkspace/contents.xcworkspacedata
(省略)

特定のコミットに戻す(reset)

「git log」で、戻す対象のハッシュ値を調べたあとに、「git reset」で戻す。

git log
git reset --hard ハッシュ値

直前のコミットを取り消し、ローカルの変更も戻す

git reset --hard HEAD^

直前のコミットを取り消すけど、ローカルの変更はそのまま残す

git reset --soft HEAD^

リモートの直前コミットを削除する

git reset --hard HEAD^
git push origin +ブランチ名

ブランチ名の前に「+(プラス)」をつけると強制pushする

※「zsh: no matches found: HEAD^」のメッセージがでて実行できないときは、次のコマンドを使う

git reset --soft HEAD\^
git push origin +ブランチ名

コミットを打ち消す(revert)

他の人が参照している可能性があるリポジトリで、pushしたコミットを削除(reset)すると不整合が生じる。この場合は、修正を元に戻すための打ち消し用のコミットを作成してpushする。

git revert  [打ち消したいコミットID]

revertで打ち消し用のコミットが作成されるので、あとはpushするだけ。

直前にコミットしたメッセージを変更(amend)

ローカルでコミットした直後なら、amendコマンドでメッセージを変更できる。

git commit --amend -m "修正したいテキストを書く"

差分の確認(diff)

ステージングにいる状態でまだコミットされていないソースの変更箇所を確認

git diff —cached

git push する前にリモートとの変更点を見る

git diff リモート名/ブランチ名..HEAD

pushの操作

push時に「rejected…non-fast-forward」が発生した場合

他の人が先にpushしていると、non-fast-forwardが発生してpushできないです。
ここでpullすると分岐してしまい、gitログが複雑になります。
rebaseを使うと分岐させることなく、pushできます。

git fetch -p
git rebase remotes/origin/(ブランチ名)
git push origin (ブランチ名)

マージの操作

マージさせたいブランチ

git merge hoge

ブランチの変更を1コミットまとめてマージ

git merge --squash ブランチ名

マージのチェック(コンフリクトを発生を確認)

現在のブランチに指定ブランチをマージしステージングを行うが、コミットはしない。

git merge --no-commit myBranch

マージを取り消し、マージ前の状態にステージングと作業ディレクトリを戻す。

git merge --abort

キャッシュの操作

ファイル全体キャッシュ削除

git add できないときや管理が上手くいかないときは、キャッシュを削除すると動くことがある。

git rm -r --cached .

タグ(tag)の操作

コメントをつけてタグをつける

git tag -a (タグ名) -m 'タグのコメント'
  • tagは特定のコミットに追加される
  • コミットを指定せずにtagをつけたときは、作業ブランチの最新コミットに追加される

コメントなしのタグをつける

git tag (タグ名)

コミットしたあとからタグをつける

git tag -a (タグ名) -m 'タグのコメント' (コミットID)

タグをリモートに登録

git push origin (タグ名)

タグの確認

git tag
git tag -l "release-dev-0.*"

マッチ検索したいときは、「-l」をつける。

タグの詳細を確認

git show (タグ名)

リモートのタグを削除する

git tag -d (タグ名)
git push origin : (タグ名)
アプリ開発が学べる勉強会を開催中!
プログラミング初心者向け、アプリ開発ノウハウ、エンジニアキャリアについてのイベントを開催!アプリ開発を学ぶための勉強会を定期開催しています。
学習する習慣を身につけたい、他の参加者と作業したい、アプリ開発の基本をマスターしたい、という方のために無料で学べる勉強会です。
グループにメンバー登録して頂くと、イベント開催時にメールで通知されます。
 グループのメンバーとして参加する
徹底した基礎学習からのマスターするiPhoneアプリ開発集中オンライン講座開講!
徹底した基礎学習からのマスターするiPhoneアプリ開発集中オンライン講座開講!
本書「iPhoneアプリ開発集中講座」を執筆している現役エンジニア講師陣が直接に指導!
基礎、課題実習で実践力を鍛えて、オリジナルアプリ公開までチャレンジ!
充実した転職支援もあるので、エンジニアへ転職したい人にもおすすめです!
まずは、現役エンジニアに相談できる無料相談をご利用ください。