1. ホーム
  2. github

DS_Store をグローバルに無視するように gitignore を設定する。

2022-02-15 18:26:12
<パス

(1) .gitignoreの紹介
プロジェクトの実装過程で、中間ファイルが生成されたり、プロジェクト内の一部のファイルがバージョン管理上不要になったりすることがあります。Githubでは、管理解除できるファイルを指定する機能があります。これは、バージョニングフォルダのルートディレクトリ(.gitフォルダと同じ階層)に.gitignore(gitignoreは隠しファイルなので、前にドットがついています)を作成することで実現します。

gitignore - 無視する意図的な未追跡ファイルを指定します。

(2) アプリケーションの例
このプロジェクトには、clist.h clist.c main.c の3つのファイルがあり、コンパイルして実行すると、clist.o main.o main(実行ファイル)の3つのファイルが生成されます。この3つのファイルはバージョン管理する必要がないので、無視する必要があります。git stautsで見てみると、この3つのファイルもUntracked filesの状態になっていることがわかります。そして、実は無視したいのです。

gitignore ファイルを使ってこれを修正するには、次の手順で行います。
S1: touch .gitignore #隠しファイルgitignoreを作成します。
S2: vim .gitignore #ファイルを編集し、指定したファイルを追加します。
#以下は、私のgitignoreファイルの内容です。
#gitignore ファイルを無視する
.gitignore
# .o と .a の拡張子を持つファイルを無視する
*. [oa]
# mainの指定された無視名を持つファイルを表示する
メイン
# 無視するフォルダを設定する
/フォルダ名/

ファイル.gitignoreのフォーマット指定。
A: #コメント用
B: シェルが使用する正規表現でパターンマッチを行うことができる
C: 末尾に "/" をつけたパターンにマッチし、ディレクトリを無視することを示す
D: !を使用する。(を使う(例:ディレクトリにtest.aがあり、gitignoreファイルに*がある場合。[test.a 以外の .a や .o の拡張子を持つファイルを無視するため)

.gitignore ファイルの設定後、git status コマンドを実行すると、3つのファイルが Untracked ファイルでなくなっていることが確認でき、指定したファイルを無視する機能が完了したことがわかります。

具体的な処理方法
1. 新しいgitプロジェクトを作成し、localにcloneします。
2. ファイルを追加します。
3. フォルダのディレクトリ構成は以下の通りです。

ここで、小さな notes.rtf ファイルを git にコミットしないままにしておきたいので、.gitignore ファイルを設定する必要があります。
このとき $ git status コマンドを実行すると、git の状態を見ることができます。

4. .gitignore ファイルをまだ作成していない場合は、作成する必要があります。

vim .gitignore

5. 5. 開いている .gitignore ファイルに無視するファイル名を追加する。

追加し終わったら、ESCして:wqと入力します。
6. この時点で、もう一度gitの状態を確認する

設定した.gitignoreファイルが1つ増え、ignoreファイルが1つ減っているので、これで合っていますね。
次は、gitにコミットします。

注意:"/1/" は "1" というフォルダーを無視するという意味です。
*.jpg は、拡張子が .jpg のファイルをすべて無視することを意味します。

DS_Store をグローバルに無視する。

1.

vi ~/.gitignore_global

gitignore_global に書き込みます。
.DS_Store
*/.DS_Store
2.
vi ~/.gitconfig

.gitconfigファイルを以下のように設定します。
[ユーザー]を選択します。
名前 = xiaoronglv
電子メール = [email protected]
[プッシュ]
デフォルト=マッチング
コア
excludesfile = /Users/holy/.gitignore_global
のところ。/Users/holyは、コマンドラインでpwdと入力することで表示できます。
参考URL http://www.mednoter.com/gitignore-global.html