2012-07-30 24 views
13

私はこれを動作させることができません。WindowsでGitを使ってシンボリックリンクを無視する方法

私はダミーファイル(srcという名前):/path/srcを持つリポジトリをクローンしました。

Windowsでは、シンボリックリンクmklink -d /path/src /otherplace/srcを作成しました(ただし、最初はダミーのsrcファイルを削除する必要がありました)。私.gitignore.git/info/exclude両方で
私は

/path/src/ 
/path/src 
path/src/ 
path/src 

を持っていると私は

git ls-files -s | gawk '/120000/{print $4}' 

git update-index path/src/ --assume-unchanged 

を試してみましたが、私はまだ取得:

error: readlink("path/src"): Function not implemented 
error: unable to index file path/src 
fatal: updating files failed 

私はすべてのtheseothersuggestionsを試してみました。さらにthis doesn't work
アイデア

+0

問題を解決しましたか? – Jus12

+0

@ Jus12、正直なところ、私がそれを解決したかどうかは分かりません。それはしばらく前のことでしたが、私はそれがどのプロジェクトだったのか覚えていません。 –

+1

答えはありませんが、 'git config core.symlinks false'の代わりに' git config core.symlinks true'を設定すると、私のために関数実装されていないエラーが取り除かれました。 したがって、Windowsでmklinkを使用して作成したシンボリックリンクはエラーなしにプッシュされましたが、プロジェクトを再度クローンすると、シンボリックリンクは実際のシンボリックリンクではなく元のファイルの場所を示すテキストファイルになります。 –

答えて

3

あなたはこのように、この1つのファイルを無視してチェックアウトを行うことができます。

git checkout HEAD . --no path/src 

.gitignoreファイルには、インデックスにコンテンツを追加するために働きます。 .gitignoreにファイルを追加する前にコミットされたファイルの変更も無視されません。

+0

"git checkout HEAD。--no" "error:あいまいなオプション:no"(Git 1.9.4) – JoeyC

+1

はい@JoeyCのテストが行​​われたばかりです。別の解決策を探します。 –

関連する問題