質問: Gitを使ってソース管理をしています。 「pullをしたら、まだpushしていなかったコミットが全て消えた」という現象が、複数人の環境で発生しました。 彼らのローカルリポジトリからは、「pushしていなかったコミット」のコミットログすら、消えてしまったようです。 このような状況が起こる原因として、何が考えられるでしょうか? なお、GitクライアントにはSourceTree(Windows版)を使用しています。 【追記】 teratailにもマルチポストしました。
回答: SourceTreeは使っていないので実際の表示はわかりませんが、 ``` $ git pull --rebase # pullする際にmergeの代わりにrebaseする ``` で競合を起こし、競合をすべて ``` $ git rebase --skip # 競合したコミットを適用せずスキップする ``` していくことでローカルのコミットがdanglingになる(消えたようにみえる)ことを確認しました。 誤ってこのような処理を実行したのではないでしょうか?