2016-05-04 10 views
0

私はローカルマスターにコミットしていますが、メインマスターにプッシュされません。Visual Studioの同期中にgitでファイルを上書きすることはできますか?

私はプロジェクトを同期し、メインマスターにある変更を取得しますが、マージの競合があります。

同じ行を変更したので問題はないと私は言っています。私はそれを働かせることができます...私は彼のコピーを取るでしょう... doh!

メインマスターには私のコミットがありませんでしたが、今ではそれらの履歴はありません。すべてで.....または何とか何かがあるかもしれません、誰にも分かりますか?

また、他に何か起こったことを意味する履歴がある必要があります(私の記憶が錆びている)。

イアン

答えて

0

多くのおかげであなたが混乱している理由は、あなたがあなたのリモートの変更を服用していないことにより、競合を解決したということです。したがって、あなたはすべての変更を失いました。

既にマージしてコミットしている場合は、次の手順で新しく開始してください。

git reset --hard HEAD~1 

上記のあなたのマージコミットとその後再度マージ競合を取得します、あなたのマージ

git pull origin master 

前にバック状態にあなたを取る削除されます。リモートコピーを取る代わりに手動で解決してください。これはあなたの問題を解決するはずです

+0

@Kieky予防策として、上記を行う前にビジュアルスタジオの変更を終了して保存してください。 * .vcproj、* .sln、* .vcproj.filtersファイルは、終了したときにのみ保存されています。 –

+0

アブダスに感謝します。だからあなたは彼らがマージの前からまだそこにいると思いますか?これが起こって以来、かなりのコミットと合併がありましたので、あなたの提案はまだ機能しますか? – Ian

+0

@Kiekyマージ後にもっとコミットした場合は、マージが起こる前にコミットをgit checkoutしてください。そのコミットとは別のブランチを作成します(git checkout -b temp)。 tempブランチ上でgitを実行して元のマスターを取り出し、競合を正しく解決してください。その後、ローカルにマスターにtempをマージします。私はそれが助けることを願って –

関連する問題