1. takashimelon
Changes in body
Source | HTML | Preview
@@ -1,61 +1,80 @@
## はじめに
-GitHubpushした際に.DS_Storeが上がってしまった時の対処法です。
+GitHubpush した際に .DS_Store が上がってしまった時の対処法です。
## 対処法
-.gitignoreの作成
+まず .gitignore を作成します。
-```
+```bash
$ touch .gitignore
```
-.gitignoreの記述
+次に .gitignore に .DS_Store と記述します。
```text:.gitignore
.DS_Store
```
-キャッシュの削除
+最後にキャッシュを削除し、 push します。
-```
+```bash
$ git rm -r --cached .
-```
-
-pushする
-```
$ git add .
-$ git commit -m "create .gitignore"
-$ git push origin master
+$ git commit -m "feat: .gitignore を作成する"
+$ git push origin main
```
-## 追記
-.gitignore をプロジェクトの度に作成したり、 .DS_Store 等を記述したりするのは正直面倒です。
-.gitignore_global を作成し、グローバルに設定することで面倒な作業をなくすことができます。
-作成する
+## 追記(非推奨)
+~~.gitignore をプロジェクトの度に作成したり、 .DS_Store 等を記述したりするのは正直面倒です。
+.gitignore_global を作成し、グローバルに設定することで面倒な作業をなくすことができます。~~
+
+~~作成する~~
```
$ touch .gitignore_global
```
-.gitignore を有効化するか `~/.gitconfig` に直接追記する
+~~.gitignore を有効化するか `~/.gitconfig` に直接追記する~~
```
$ git config --global core.excludesfile ~/.gitignore_global
```
```text:.gitconfig
[core]
excludesfile = ~/.gitignore_global
```
-.gitignore_global に .DS_Store を追加する
+~~.gitignore_global に .DS_Store を追加する~~
```text:.gitignore_global
.DS_Store
```
+## 追記(推奨)
+グローバルに設定するには `~/.config/git/ignore` に記述するのが相応しいということを知りました。この記事を閲覧し、 .gitignore_global を作成された方向けに設定方法を記載します。
+
+まず、 `~/.config/git` ディレクトリを作成します。
+
+```bash
+$ mkdir ~/.config/git
+```
+
+次に .gitignore_global の名前を ignore に変更し、 `~/.config/git` ディレクトリへ移動させます。
+
+```bash
+$ mv .gitignore_global ~/.config/git/ignore
+```
+
+最後に、 .gitconfig の設定を削除します。
+
+```bash
+$ git config --global --unset core.excludesfile
+```
+
---
参考資料
-[グローバルで.gitignoreを適応する](https://qiita.com/katsew/items/5cade12fa743a2f31f25)
+[.gitignore_globalを使うのをやめてデフォルトの置き場に戻す方法](https://qiita.com/takatin/items/1a50b840b6959aa29531)
+[~/.gitignore_global を指定するのをやめ、デフォルトの置き場に置こう](https://zenn.dev/qnighy/articles/1a756f2857dc20)