Githubチートシート

Git

リモートブランチの削除

git push --delete origin branch_name

もしくは

git push origin :branch_name

このコマンドは、リモートのブランチを削除します。

コミットメッセージの修正

直前のコミットメッセージを修正する場合、以下のコマンドを使用します。

git commit --amend -m "修正後メッセージ"
git push --force origin ブランチ名
`-force`オプションを使用することでリモートに強制的にpushします。

リモートコミットの削除

リモートリポジトリのコミットを削除するには、まずGitHubのWeb画面からリポジトリの保護設定を解除する必要があります。

コミットを削除するには以下のコマンドを使用します。

git reset --hard HEAD^
git push -f origin master

この操作は、現在のブランチの直前のコミットにリセットし、変更をリモートのmasterブランチに強制的にpushします。この方法は、他の開発者に影響を与える可能性があるため注意が必要です。

オプション

  • -hard: ワークディレクトリ(現在の作業内容)とインデックス(ステージングエリアの内容)がリセットされ、指定したコミットの状態に完全に戻ります。これにより、指定コミット以降の変更がすべて削除されます。
  • -soft: インデックスとコミット履歴はリセットされますが、ワークディレクトリのファイルはそのまま保持されます。つまり、ファイルの内容は変わらず、変更点が「未ステージング(unstaged changes)」の状態になります。

リポジトリの履歴を操作する際には、共同作業者との調整を行い、意図しないデータの喪失を避けるために十分注意してください。詳細な手順はこちらの記事を参照してください。

HEADとは

  • HEAD^HEAD~1: 直前のコミットを指します。
  • HEAD~{n}: 直前からn個前のコミットを指します。
  • コミットのハッシュ値を使用することで、特定のコミットを指定することもできます。
  • HEADのエイリアスとして@があります(例: @^)。
  • HEAD^^^, HEAD~3, HEAD~~~, HEAD~{3}, @^^^はすべて同じコミットを指します。

過去のコミットとのマージ

特定のブランチから別のブランチに過去のコミットをマージする方法について説明します。このプロセスは、開発中の機能をステージング環境でテストする際などに有用です。

以下の手順に従います:

  1. 現在のブランチから直前のコミットにリセットします。 git reset --hard HEAD^ このコマンドは現在のブランチを一つ前のコミット状態に戻します。
  2. ステージングブランチに切り替えます。 git checkout staging staging ブランチに切り替えることで、そこに新しい変更をマージする準備をします。
  3. develop ブランチから最新の変更を staging ブランチにマージします。 git merge develop このステップでは、develop ブランチの最新の変更を staging ブランチに統合します。
  4. 変更をリモートの staging ブランチにプッシュします。 git push これで、ローカルの変更がリモートリポジトリに反映されます。 注意:このプロセスは既存の作業を上書きする可能性があるため、操作を行う前には現在のブランチの状態を確認し、必要に応じてバックアップを取ることをお勧めします。また、チームメンバーと調整を取り、他の開発者の作業に影響を与えないようにしてください。

ブランチ名の変更

Gitでブランチ名を変更する方法を説明します。ローカルとリモートの両方での手順を以下に示します。

ローカルブランチ名の変更

# 現在のブランチ名を新しい名前に変更する場合
git branch -m 新しいブランチ名

# 別のブランチ名を新しい名前に変更する場合
git branch -m 古いブランチ名 新しいブランチ名

このコマンドを使用してローカルのブランチ名を変更できます。

リモートブランチ名の変更 リモートブランチ名の変更は、直接の名前変更ではなく、新しい名前でブランチをリモートに再プッシュすることによって行います。このプロセスでは、以前のブランチ名に関連付けられたプルリクエストやコメントは新しいブランチには引き継がれませんので注意が必要です。

手順は以下の通りです:

  1. ローカルのブランチ名を変更します。
  2. 新しいブランチ名でリモートにプッシュします。
  3. 古いリモートブランチを削除します。
git branch -m 古いブランチ名 新しいブランチ名
git push -u origin 新しいブランチ名
git push --delete origin 古いブランチ名

この方法で、ブランチ名の変更が完了します。変更がチームの他のメンバーに影響を与えないように、この操作を行う前には必ず周知してください。詳細はこちらの記事を参照してください。

リポジトリから特定のファイルを削除

リポジトリの履歴から特定のファイルを完全に削除するには、以下のコマンドを使用します。

git filter-repo --force --path http/backup/latis.sql --invert-paths

コメント

タイトルとURLをコピーしました