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
した場合は、強制的にプッシュする必要があります)。