gitで管理したくないファイルやディレクトリの除外設定をする
git initまたはgit cloneしたgit管理のルートディレクトリに
.gitignoreを格納する
複数人で開発する場合は、.gitignoreをcommitしておき、
プロジェクトメンバー全員で利用できるようにすると良い
GitHubで提供しているテンプレートの取得
開発する言語やOS毎にgitignoreが予め用意されている
github/gitignore
例えばMacでJava言語を使った開発をしている場合は、
gitignore/Global/macOS.gitignore
gitignore/Java.gitignore
を1つの.gitignoreにマージして利用する
それぞれのファイルの中身は予め確認しておくこと
.gitignoreの設定
例:リモートリポジトリURL=git@github.com:eizin6389/Git-Tutorial.git
.DS_StoreをGitで管理しない設定
$ cd 任意のディレクトリ
$ git clone git@github.com:eizin6389/Git-Tutorial.git
$ cd 任意のディレクトリ/Git-Tutorial
$ cat .gitignore
.DS_Store
$ git add .gitignore
$ git commit -m "Add ignore pattern"
既にGitで管理しているものを除外する
※削除した履歴は残りません
Git管理から除外し、ファイルは残す
git rm --cached [ファイル名]
Git管理からファイルを除外し、ファイルを物理的に削除する
git rm [ファイル名]
Git管理からディレクトリを除外し、ディレクトリは残す
ディレクトリ配下のディレクトリやファイルも併せて除外されます
git rm -r --cached [ディレクトリ名]
Git管理からディレクトリを除外し、ディレクトリを物理的に削除する
ディレクトリ配下のディレクトリやファイルも併せて除外し、削除されます
git rm -r [ディレクトリ名]
git addを取り消す
※取り消しの履歴は残りません
※特にリモートにpush済みのコミットに関して使うことはNGです。
ファイルの内容は変更せずにgit addを取り消す
git reset [ファイル名]
ファイルの内容を変更しgit addを取り消す
直前のコミット時と完全に一致した状態にファイルの内容を戻す
git reset --hard
指定したコミットIDより後ろのコミット内容を取り消す
ファイルの中身はコミットした時の状態で残す
git reset [コミットID]
指定したコミットIDより後ろのコミット内容を取り消す
ファイルの中身は、取り消した分を戻す
git reset --hard [コミットID]
ワーキングディレクトリの追跡対象外ファイルを削除する
Gitで管理されていないファイルを削除する
削除対象を確認する
ディレクトリは対象外
git clean -n
強制的に削除する
ディレクトリは対象外
git clean -f
ディレクトリも削除対象に加えて、削除対象を確認する
git clean -nd
ディレクトリも削除対象に加えて、削除対象する
git clean -fd
直近のコミットのコミットメッセージの内容を修正する
git commit --amend
コミットを打ち消すコミットをする
※コミット履歴に残ります
対象のコミットIDの内容を取り消し、取り消した事を履歴に残す
git revert コミットID
ファイル名またはディレクトリ名の変更または移動
git mv ファイル名
git mv ディレクトリ名