2016-07-26 46 views
2

メインリポジトリのthird-partyというサブモジュールがあります。このモジュールは大きすぎるので、ワークスペース内のthird-partyフォルダへのシンボリックリンクを作成しました。 私は不幸にも、このシンボリックリンクを大規模なマージの一部として私の支店にコミットしました!基本的に、サブモジュールをシンボリックリンクに置き換えました。Git:サブモジュールを置き換えたシンボリックリンクを元に戻すには?

私はリンクとサブモジュールのアップデートを削除しようとしましたが、それは役に立ちませんでした。

詳細:

cat .gitmodulesは、以下の

[submodule "third-party"] 
    path = third-party 
    url = http://my-git-server/third-party.git 

ls -laが、私はどのようにこのような状況から回復するには見当がつかない次

drwxr-xr-x 3 user admin 136 Jul 26 17:57 some-folder 
drwxr-xr-x 3 user admin 102 Jul 26 17:57 third-party -> /some/dead/path 

出力を出力します。どんな助けでも大歓迎です。

答えて

1

私は複数のことを試してみましたが、ついには次のようになりました。これを解決するより良い方法は大歓迎です!

#delete the symlink 
rm third-party 

#delete the symlink from git 
git rm third-party 

#remove the submodule 
cat /dev/null>.gitmodules 

#commit the changes 
git add . 
git commit -m "Removing third-party as submodule" 

#add the submodule again 
git add submodule http://my-git-server/third-party.git third-party 

#get the latest code from the submodule 
git submodule update --remote 

これは私の問題を解決しました。サードパーティが現在指しているコミットハッシュは異なりますが、私がgit submodule update --remoteを実行すると、最新のコードが取得されます!

関連する問題