質問: git初心者です。。 過去に`git clone git@github:aaa/bb.git` でリモートリポジトリから取得したディレクトリを新しくしたいです。 ローカルのbbを消してgitに置かれている新しいbbにしたいです。 何をどうすればいいかわからない状況です。。 とりあえずリモートからローカルへもってくるためにgit pullコマンドをやりましたがエラーでした。 ``` error: Your local changes to the following files would be overwritten by merge: Please, commit your changes or stash them before you can merge. Aborting ```
回答: pullした時に出ているエラーは「すでに変更されているファイルがあるためpullできない」といったものです。 対応方法としてはいくつか考えられるので、要望にあったものを選んでください。 1. ローカルの変更内容を破棄してリモートリポジトリから更新する `git reset --hard HEAD`を実行し、その後に`git pull`を実行する 2. ローカルの変更内容を一時保存してリモートリポジトリから更新する `git stash`を実行し、その後に`git pull`を実行する ※ 保存した変更内容を戻したい場合は、`git stash pop`を実行すればOKです。 3. ローカルの変更内容を一旦コミットしたうえでリモートリポジトリから更新する `git checkout -b hogehoge`で適当な名前(hogehogeの部分)のブランチを作成し、`git commit -am "〜"`で一旦ローカルの変更内容をコミットする。 その後、`git checkout master`でmasterブランチに戻って`git pull`を実行する 4. 別の場所に再度リモートリポジトリをcloneする 別のディレクトリで`git clone git@github:aaa/bb.git`を実行する 通常は1か2を選択することがほとんどだとは思いますが、場合によっては3や4を選択することもあります。 他にも`git worktree`等のコマンドを使う方法もあるかと思います。上記1〜4で要望を満たせない場合は調べてみてください。