web-dev-qa-db-ja.com

Git Pull Aborting

私の同僚は、本番ホットフィックスの変更をローカルのマスターブランチにマージしてから、GitHubリポジトリにマスターをプッシュしました。今、私は彼の変更で私のローカルマスターブランチを更新しようとしています。 gitコンソールから「gitpullOrigin」を実行すると、すべてのファイルが表示されて問題がないように見えます。しかし、終わり近くでは、「中止」というメッセージで停止します。

次に何をしたらいいのかわからない。助けて?

PDATE:問題は解決しました。問題の本当の根本は、私の同僚が彼のブランチの.gitignoreファイルからいくつかのエントリを削除したことで、いくつかの新しいファイルが彼のチェックインに入ることができました。ローカルの.gitignoreはまだこれらのファイルを無視していたため、ローカルリポジトリは、インデックスに追加するローカルの作業ファイルがあるとは考えていませんでした。最終的にすべてのファイルを削除し、プルが機能してすべてを取り込みました。

.gitignoreファイルの編集とチェックインには、間違いなくもっと注意を払うつもりです。他の開発者への影響について、新しい認識があります。

14
sisdog

彼はおそらく、コミットを既存のコミットツリーの上ではなく、どこかに置いたのでしょう。

これを試して:

git fetch Origin
git rebase Origin/master

それでも問題が解決しない場合は、Originのローカルブランチを作成し、ローカルコミットをチェリーピックして、マージするコミットの前にマスターをリセットしてから、ローカルブランチをマスターにマージします。

私の推測では、彼のプッシュには、--forceメッセージを回避するためにある時点でnot a fast-forward commitが含まれていました。将来、あなたはそれをしたくありません。

9
Stefan Kendall

問題の根本は、私の同僚が彼のブランチの.gitignoreファイルからいくつかのエントリを削除したため、いくつかの新しいファイルが彼のチェックインに入ることができたということでした。私のローカルの.gitignoreはまだそれらのファイルを無視していたので、インデックスに追加するローカルの作業ファイルがあるとは思われませんでした。最終的にすべてのファイルを削除し、プルが機能してすべてを取り込みました。

5
sisdog