ドットで始まるファイルをリポジトリに追加する際に問題が発生する

ドットで始まるファイルをリポジトリに追加する際に問題が発生する

私はgit repoを使って "/etc"でも設定ファイルをバックアップし始めました。

git --work-tree=/ --git-dir=/home/user/repo/.git

これは何年も働いているように見えましたが、今はうまくいきません。自宅にフォルダを追加しようとしても、-fオプションを使用してもファイルを追加できず、実際には「.config」ファイルを追加できません。礼拝規則:

git-backup add src/linux-5.10.147
The following paths are ignored by one of your .gitignore files:
home
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: "git config advice.addIgnoredFile false"

私はそれを使用しています

git-backup config --global core.excludesfile ~/.gitignore_global

".gitignore_global"ファイルは次のとおりです。

# First, ignore everything
*
# Now, whitelist anything that's a directory
#!*/
# And all the file types you're interested in.
!/etc/*
!/home/user/*

".git/info/exclude"ファイルのすべての行がコメントアウトされました。

私が使っていたリポジトリにはreadmeファイルだけが含まれていました。これを複製し、エイリアスで定義されたgit-dirを複製されたリポジトリの.gitディレクトリとして指定しました。

コメントや提案がありますか?

ありがとう

答え1

gitドキュメントによると、.gitignoreファイルは機能しないはずです。

オプションのプレフィックス「!」には、前のパターンから除外された一致ファイルが再び含まれます。ファイルの親ディレクトリを除いて、そのファイルを再度含めることはできません。パフォーマンス上の理由から、Gitは除外ディレクトリを一覧表示しないため、含まれるファイルのパターンは定義された場所に関係なく影響を与えません。最初の「!」前にバックスラッシュ("")を挿入します。 「!important!.txt」のようにリテラル「!」で始まるパターンの場合。

ディレクトリ自体を再度含めるように.gitignoreファイルを変更してみてください。

!/etc
!/home          # Reinclude home ...
/home/*         # ... but exclude all sub-directories of home ...
!/home/user/*   # ... except user

関連情報