18

私の同僚は、プロダクション ホットフィックスの変更をローカルの master ブランチにマージし、master を GitHub リポジトリにプッシュしました。今、ローカルの master ブランチを彼の変更で更新しようとしています。gitコンソールから「git pull origin」を実行すると、すべてのファイルが表示されてうまくいくようです。しかし、最後に「Aborting」というメッセージで停止します。

次に何をすべきかわかりません。ヘルプ?

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

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

4

2 に答える 2

11

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

これを試して:

git fetch origin
git rebase origin/master

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

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

于 2011-08-12T00:25:09.433 に答える
5

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

于 2011-08-12T03:08:37.990 に答える