git Macでの.DS_Storeファイルのシンプルなチュートリアル

.DS_Storeとは何ですか?

Macユーザーは、システムが各ディレクトリに非表示の.DS_Storeファイルを自動的に生成することが多いことに気付くでしょう。.DS_Store(英語のフルネームデスクトップサービスストア)は、AppleのMac OS Xオペレーティングシステムによって作成された隠しファイルです。その目的は、ファイルのアイコンの場所や背景色の選択など、ディレクトリのカスタム属性を格納することです。これは、Windowsのdesktop.iniに相当します。

.DS_Storeを削除する

プロジェクトに自動的に生成された.DS_Storeファイルがない場合は、.DS_Storeを.gitignoreファイルに直接追加します。.DS_Storeファイルがプロジェクトにすでに存在する場合は、まずそれをプロジェクトから削除してから、.gitignoreに追加する必要があります。

次のように:
プロジェクト内のすべての.DS_Storeを削除します。これは、プロジェクトにない.DS_Store
1.find をスキップします。-name .DS_Store -print0 | xargs -0 git rm -f --ignore-
unmatch .DS_Storeを.gitignore
2.echoに追加します。 gitignore
update project
3.git add --all
4.git commit -m'.DS_Store banished! '
ディスク上の.DS_Storeのみを削除する必要がある場合は、次のコマンドを使用して、現在のディレクトリとそのサブディレクトリをすべて削除できます。 DS_Storeファイル:

見つける。-name '* .DS_Store' -type f -delete

自動生成を無効または有効にする

禁止.DS_store生成:
デフォルト書き込みcom.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

.DS_store世代の復元:.DS_store世代の復元:
デフォルトの削除com.apple.desktopservices DSDontWriteNetworkStores

Apple Mac OS Xオペレーティングシステムでは、隠しファイルを表示するかどうかを設定する多くの方法がありますが、最も簡単な方法は、Mac端末でコマンドを入力することです。Macの隠しファイルを表示/非表示にするコマンドは次のとおりです(スペースに注意してください。大文字と小文字は区別されます):
隠しMacファイルを表示するコマンド:デフォルトはcom.apple.finderに書き込みますAppleShowAllFiles -bool true
非表示のMacファイルを非表示にするコマンド:デフォルトはcom.appleに書き込みます。ファインダーAppleShowAllFiles -bool虚偽
または
隠されたMacのファイルを表示するコマンド:デフォルトはcom.apple.finder AppleShowAllFiles YES書く
隠すマック隠しファイルにコマンドを:デフォルトは後AppleShowAllFiles NO com.apple.finder書く
タイピング、クリック端末と終了します
再起動をFinderはFinderを再起動できます:[マウスをウィンドウの左上隅にあるアップルのロゴをクリック->強制終了-> Finder->再起動]

簡単に言うと、Macの各ディレクトリには.DS_Storeというファイルがあり、現在のフォルダーのメタ情報を保存するために使用されます。したがって、Gitディレクトリのステータスを確認するたびに、.DS_Storeファイルを追加しないと、未追跡ファイルのプロンプトが表示されます。追加後、コミットのステージングが行われていない変更のプロンプトが表示されます。特に、フライのように煩わしいですか? ?この厄介な小さな妖精を解決するには、.gitignoreファイルを使用して、Gitディレクトリで無視する必要があるファイルを構成する必要があります。
.gitignoreファイルはファイルを無視するために使用され、その仕様は次のとおりです
。1.すべての空白行またはコメント記号#で始まる行は、Gitによって無視されます。
2.標準のグロブパターンマッチングを使用できます。
3.バックスラッシュ(/)が後に続く一致パターンは、ディレクトリが無視されることを示します。
4.指定したモード以外のファイルまたはディレクトリを無視するには、モードの前に感嘆符(!)を追加して、モードを逆にします。
globモードの要点:

  1. *:任意の数の任意の文字
  2. ?:任意の文字に一致します。
    したがって、対応するGitディレクトリに.gitignoreファイルを作成してから、.DS_Storeを構成するだけです。手順は次のとおりです
    。1. touch .gitignoreを使用して.gitignoreファイルを作成します(すでに一部は直接2番目のステップに進みます)
    wdw:test wdw $ touch .gitignore
    2.open .gitignore、enter .DS_Store次にenter * /。DS_Store

.gitignoreなしで直接追加して保存し、すでに.gitignoreがある場合はファイルの最後に追加します。

3.保存して有効にするここで、現在のディレクトリの.DS_Storeとそのサブディレクトリの.DS_Storeは無視され、
問題は解決しましたか?いいえ、将来の使用で、そのような.gitignore構成をすべてのGitディレクトリに追加する必要があることがわかりました。グローバルに構成する方法はありますか?この構成をすべてのGitディレクトリに対して有効にします。git configが役立ちます。
git config --listコマンドを使用すると、既存の構成を表示できます(ここでは、他の構成項目は無視します。興味のある学生は、ここをクリックして詳細を確認できます)実際には、ファイル、ファイル場所はユーザーのルートディレクトリにあり、名前は.gitconfigです。グローバル無視ファイルを追加する手順は次のとおりです。

  1. 〜/ .gitignore_globalファイルを作成し、グローバルに無視する必要があるファイルを書き込みます。構文は.gitignoreの構文と同じです
  2. 〜/ .gitconfig excludesfile
    = /Users/reon/.gitignore_globalに.gitignore_globalファイルを導入
    することもgit config --global core.excludesfile / Users / reon / .gitignore_globalコマンドで実現できます
  3. 設定が成功したら、設定が有効かどうかを確認できます。
    この時点で、ファイルを無視する操作が完了しています。

GitHub上のファイルを削除する方法

github上の元のファイルを削除する場合は、

場合によっては、何らかの理由でgitにアップロードされたファイルを削除する必要がありますが、ローカルファイルを削除してからコミット操作を実行すると、ローカルファイルのみが削除され、リモートファイルはそのまま残ります。次のコマンドを使用して、最初にステージ内のファイルを削除してから送信し、リモートにプッシュすると、github上のファイルが存在しません。
たとえば、github上の.DS_Dtoreファイルの実行操作を削除し、対応するディレクトリに移動して、ターミナルで次の操作を実行します

  1. git rm-キャッシュされたファイル名
  2. git commit -m“ hehe”
  3. git push originが
    実行された、githubを再度更新すると、この時点で削除したいファイルが消えていることがわかります。

おすすめ

転載: blog.csdn.net/universsky2015/article/details/108544470