Gitでコミットするタイミングでコミット済ファイル名を変更するには「git mv (変更前ファイル名) (変更後ファイル名)」コマンドを、コミット済ファイルを削除するには 「git rm (削除するファイル名)」コマンドを利用することで、物理的にもGitのリポジトリ上でも、ファイル名変更や削除を行うことができる。
今回は、Gitでコミット済ファイルのファイル名変更や削除をしてリモートリポジトリに反映してみたので、その手順を共有する。
前提条件
下記記事の手順を、リモートリポジトリ名=git-commit-mv-rm-pushとして実行済であること。
やってみたこと
コミット履歴の確認
前提条件に記載した操作を行った後で、コミット履歴を確認した結果は、以下の通り。
1)「git log」コマンドで、ローカルリポジトリのGitコミット履歴を確認した結果は以下の通りで、1回分のコミット履歴が確認できる。
2) GitHub上で、リモートリポジトリのコミット履歴を確認するために「1 commit」をクリックした結果は以下の通りで、ローカルリポジトリと同様の1回分のコミット履歴が確認できる。
コミット操作(2回)の実行
コミット後のファイル名変更・削除を確認するため、コミット操作(2回)を実行し、リモートリポジトリに反映する。その手順は、以下の通り。
1) ローカルリポジトリ上で、以下のファイル(add_file_1.txt)を追加する。
追加したファイルをGit Bash上で確認した結果は、以下の通り。
2) 追加したファイル(add_file_1.txt)を、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
3) ローカルリポジトリ上で、以下のファイル(add_file_2.txt)を追加する。
追加したファイルをGit Bash上で確認した結果は、以下の通り。
4) 追加したファイル(add_file_2.txt)を、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
5)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。
6)「git log」コマンドで、ローカルリポジトリのGitコミット履歴を確認した結果は以下の通りで、3回分のコミット履歴が確認できる。
7) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様の3回分のコミット履歴が確認できる。
コミット済ファイル名の変更・削除
コミット済ファイル名の変更やファイル削除を実行しリモートリポジトリに反映した結果は、以下の通り。
1)「git mv (変更前ファイル名) (変更後ファイル名)」コマンドを実行することで、コミット済の指定したファイル名を変更する。
ファイル名変更後をGit Bash上で確認した結果は以下の通りで、物理的に指定したファイル名が変わっていることが確認できる。
2)「git log」コマンドで、ローカルリポジトリのGitコミット履歴を確認した結果は以下の通りで、特に変わっていないことが確認できる。
3)「git rm (削除するファイル名)」コマンドを実行することで、コミット済の指定したファイルを削除する。
ファイル削除後をGit Bash上で確認した結果は以下の通りで、物理的に指定したファイルが削除されていることが確認できる。
4)「git log」コマンドで、ローカルリポジトリのGitコミット履歴を確認した結果は以下の通りで、特に変わっていないことが確認できる。
5)「git commit -m (コミットログ)」コマンドを実行して、コミットする。
6) コミット後に「git log」コマンドで、ローカルリポジトリのGitコミット履歴を確認した結果は以下の通りで、先ほどのコミット履歴(赤枠)が追加されていることが確認できる。
7)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。今回は、以下のように、-fオプションを付与しなくても正常終了することが確認できる。
8) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様の4回分のコミット履歴が確認できる。
要点まとめ
- Gitでコミット済ファイル名を変更するには、「git mv (変更前ファイル名) (変更後ファイル名)」コマンドを利用すればよい。
- Gitでコミット済ファイルを削除するには、「git rm (削除するファイル名)」コマンドを利用すればよい。