Git初心者です。
自分でリポジトリを作り、パソコンAとパソコンBでプロジェクトを共有しようとして詰まりました。
実行手順
・パソコンAの作業内容をGitにpush
・パソコンBでcloneを作る→成功
・試しにローカルの1ファイルを削除、もう1つファイルを編集
・pullで反映されるか→削除されたファイルは復元されず、変更内容も復元されず
実行したコマンドは、
git clone [URL]
(ここでディレクトリを編集)
git pull origin main です。
削除したファイルはcheckoutでリポジトリから持ってくることはできましたが、pullで持って来れないのが腑に落ちません。
根本的な理解を誤ってるかもしれないと思い、質問させていただきました。
pullとはそもそも削除したファイルを復元する機能がないのか、また必要な手順が抜けているのか。
pullする前にcommitしなければいけない…?いやそんなことないはず!
branchは最初のpush時にmainとしたので、間違いないはずです。
初歩的な質問で申し訳ありませんが、なかなか解決できないのでご教授くださいませ。
よろしくお願いします。
pull は fetch 後に merge するコマンドです。
マージした結果、ローカルでの変更の方が新しいので更新されません。
そのような場合は reset を使います。
変更が新しい方を優先するんですね。僕みたいなケースはgitさんも想定外だったのかもしれません…。
どおりで調べても出てきませんね。
早急な回答で大変助かりました。
ありがとうございました。
どのようにマージされるのか色々試して確認して自己解決してください。
git logでコミットIDを確認し、git reset [commitID]とすることで変更前の状態に戻すことができました。
その状態でpullすると、足りない分のファイルを引っ張ってきてくれました。感動です。
pullはfetchとmergeの複合体なので、この2コマンドについても理解を深めていこうと思います。
教えてくれるだけでなく、考える機会をくださりありがとうございました。

回答2件
あなたの回答
tips
プレビュー