10

.pryrcホーム ディレクトリに、gitで追跡したい「ドット」ファイルがいくつかあります.zshrc。何らかの理由でマシンを紛失した場合の構成設定。b) 変更を構成するときに何かを台無しにした場合に、ファイルに加えられた変更を安全に追跡するため。

最初にホーム ディレクトリに git リポジトリをセットアップしてそれらを追跡し、ホワイトリストに登録された特定のファイル名を除くすべてのファイルを無視するように .gitignore ファイルを構成しました。しかし、ホーム ディレクトリに git リポジトリを配置することに夢中になっているわけではないことに気付きました。また、ターミナル ウィンドウにブランチ名「master」が表示されて気が散ることもあります。プロンプトで git ブランチを表示する設定で ZSH を使用していますが、リポジトリがあるとは思わないディレクトリをナビゲートしているときに、自分が git リポジトリにいることがわかり、驚くべき混乱を招くことが判明しました。

ホーム フォルダーの下に構成ディレクトリを作成し、それを git リポジトリとして初期化し、目的のファイルへのシンボリック リンクを生成しようとしました。ただし、すべてを追加してコミットした後、リモート ブランチはファイルの実際の内容ではなく、リンクのみを示していることに気付きました。

これを達成するための最良の方法は何ですか?

4

2 に答える 2

6

これが私がそれを理解した方法です:

~/repositories/configurations/まず、 git リポジトリを格納するために使用するディレクトリを作成しました。このディレクトリに移動した後git init、通常どおり実行します。

次に、.gitignoreホワイトリスト以外のすべてのファイルを無視するように構成されたファイルを作成しました。(コミット前のプロセスでこれを行うことができますが、git status設定する前に実行すると、追跡され.gitignoreていないファイルがたくさん表示されることに注意してください)。

# ignore everything
*

# except these whitelisted files:
!.gitignore
!.pryrc
!.zshrc
!.bashrc
!.bash_profile
!.bash_login

次に、git リポジトリを別の作業ディレクトリにポイントします。

git config core.worktree "/User/username"

実行するgit statusと次のようになります。

Untracked files:
  (use "git add <file>..." to include in what will be committed)

  ../../.bash_login
  ../../.bash_profile
  ../../.bashrc
  ../../.gitignore
  ../../.pryrc
  ../../.zshrc

ここからgit add ~/.bash_profile ~/.bashrc ~/.pryrc ~/.zshrc、コミットします。リモートリポジトリへの設定とプッシュは標準です。

1 つのメモ - ディレクトリの目的や構成方法などを文書化するために、ローカルの README.md ファイルが必要であると判断しました。このファイルを、コンテキストから外れたホーム フォルダーに置きたくありませんでした。README を作成した後、-fフラグを使用してリポジトリに追加する必要がありました。

git add -f README.md.

私はそれをホワイトリストに追加しようとしました.gitignoreが、git に などのパスのバリエーションを持つファイルを見つけるよう説得できませんでした!~/repositories/configurations/README.md。どのようにパスを指定しようとしても、git はファイルを認識しませんでした。しかし、力を入れて追加した後は、正常に機能しています。私より賢い誰かがこれを行う方法を提案するかもしれません。

この手順は魅力のように機能しました。これで、ドット ファイルの変更を追跡し、リモートで安全に保存するための作業リポジトリができました。

于 2015-08-05T19:58:07.503 に答える
4

Git リポジトリでドットファイルを追跡するためのフレームワークであるHomesickを確認してください。

それは

  • 管理するファイルを追跡する Git リポジトリを作成する
  • ホームフォルダー ( ~) から Git リポジトリーへのファイルのシンボリックリンク
  • 新しいファイルを追跡するコマンドの提供、変更のコミット/プッシュ/プル

実行することでインストールできます

gem install homesick

次に、ドキュメントに従ってファイルの追跡を開始します。

Homesick のようなものを使用することをお勧めします。動作することが証明されており、侵襲性が最小限です。ホーム フォルダーが Git リポジトリで汚染されることはなく、作業中の任意のマシンで構成を共有および復元できます。

私が Homesick をどのように使用しているかを知りたい場合は、私の個人的なドットファイル リポジトリへのリンクを次に示します。

Homesick は Ruby を使用して構築されています。Bashのみのソリューションが必要な場合は、 Homesick を確認してください。

ドットファイルの管理に関する利用可能なソリューションの完全なリストについては、GitHub ドットファイル ページを確認してください。

于 2015-08-06T06:29:41.663 に答える