[解決済み】WindowsでGit Symlinksを使用する場合
2022-04-19 17:01:40
質問
当社の開発者は、WindowsとUnixベースのOSを混在して使用しています。そのため、Unixマシンで作成されたシンボリックリンクは、Windowsの開発者にとって問題となります。Windows (msysgit) では、シンボリックリンクは、それが指すファイルへのパスを持つテキストファイルに変換されます。その代わり、シンボリックリンクを実際のWindowsのシンボリックリンクに変換したいと思います。
は、( 更新 )これに対して私が持っている解決策は
- テキストファイルを再帰的に検索するポストチェックアウトスクリプトを作成します。
- ダミーのシンボルリンクと同じ名前と拡張子を持つシンボルリンクに置き換える(mklinkを使用)。
- .git/info/exclude にエントリを追加して、これらの Windows シンボリックリンクを無視する。
私はこれを実装していませんが、これはこの問題に対する堅実なアプローチだと思います。
質問です。
- この方法のデメリットがあるとすれば、それは何でしょうか?
- このチェックアウト後のスクリプトは実装可能ですか?つまり、git が作成するダミーの "symlink" ファイルを再帰的に見つけることは可能ですか?
- このようなスクリプトを既に作成した人はいますか?
どのように解決するのですか?
シンボリックリンクを見つけるには、モードが
120000
おそらくこのコマンドを使用します。
git ls-files -s | awk '/120000/{print $4}'
リンクを置き換えたら、変更されていないことを示すために、次のようにマークすることをお勧めします。
git update-index --assume-unchanged
でリストアップするのではなく
.git/info/exclude
.
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] WIN32_LEAN_AND_MEANを定義すると、具体的に何が除外されるのですか?
-
[解決済み] Xcopyのエラーメッセージ「Sharing Violation」が誤っている。
-
[解決済み] Ctrl Alt F8はディスプレイを切り離す?
-
[解決済み] WPCups.exeとは何ですか?[クローズド]です。
-
[解決済み] vbscriptのコンソールへの出力
-
Windowsはプリンタに接続できません、操作は失敗しました、エラー0x0000011b、解決策の1つです。
-
[解決済み] XAMPP Object not foundエラー
-
[解決済み] Windowsのバッチスクリプトにおける"@"の意味について
-
[解決済み] Windows CLIでタイムスタンプを使ったPingを打つ
-
[解決済み] Windows PowerShellの環境変数を設定する