コンピューター上にgitリポジトリを作成し、サーバーにプッシュしました。次に、リポジトリのコンテンツとマージする必要がある別のコンピュータのフォルダに移動しました。
これが私が実行した正確なステップです(私はそれを再現しました):最初のリポジトリで:
git init
git remote add origin *repo adress*
git remote update
echo "abc" > a
git add a
git commit -a -m "Intial commit"
git push --set-upstream origin master
2番目のもの(ファイルが削除されるもの):
git init
echo "def" > b
git add b
git remote add origin *repo adress*
git remote update
git pull origin master
私が予想したことは、gitがそれらのファイルをプルし、ローカルファイルをコミットして元に戻すことができるということでした。しかし、代わりに私のローカルファイルはなくなりました。gitは本当に警告なしにローカルファイルを削除しただけですか(強制オプションなどは使用しませんでした)?
それらを取り戻す可能性はありますか、それとも追跡されていないファイルを削除するだけの意図された予想される動作ですか?
ちょうどgit status
言うの出力:
# On branch master
nothing to commit, working directory clean
テストリポジトリを使用してこれらの手順を再現したところ、次のようになりました。ファイル "a"はリポジトリ番号2にプルされますが、ファイル "b"はなくなりません(aのみが'ls'で表示されます)。