3

Macで作業しているときに、IDEが(コロン)文字を含むディレクトリを生成し:、それがgitリポジトリにプッシュされました。後でPCで作業するように切り替えたときに、ディレクトリをプルできず、fatal: cannot create directory at... invalid argumentエラーが発生したことがわかりました。

プルできないディレクトリを削除または名前変更するにはどうすればよいですか?

私はGitHub.comを使用しているので、Webサイトインターフェイスを使用したソリューションも受け入れられます。

4

1 に答える 1

3

git pullこれは実際には2段階のプロセスであることを覚えておく必要があります。最初fetchにリモートファイルを取得するために使用します。fast-forward merge次に、作業に直接変更を適用しようとします。

したがってfetch、リモートで使用します。これにより、gitリポジトリにリモート変更が設定されていることを確認できます。gitリポジトリから次を実行すると思います:

ls | xargs -I'{}' git checkout -- '{}'

しかし、あなたはWindowsボックスを使用していると言ったので、ループして手動で実行する必要があるかもしれません。また、これは、リポジトリのルートに新しいファイルが作成されていないことを前提としています。

ここで、実際にディレクトリの作成を元に戻したい場合は、次のようにします(これは、リモートをとしてorigin、ブランチをとして想定しますmaster)。

git update-ref refs/heads/master $(git rev-parse origin/master)
git add --all .
# amend the commit to remove the folder from history
# only do this if you can rebase the remote w/o repercussion
git commit --amend
# otherwise just add a new commit on top of the old
git commit

次に、ログを見て、すべてが正常に見えるかどうかを確認します。正常に見える場合は、リモートにプッシュアップします(使用--amendした場合は、強制的にプッシュする必要があります)。

于 2013-03-19T05:14:28.033 に答える