2017-10-12 10 views
0

私たちは、私たちのチームでコードベースを管理するためにGitを使用しています。gitマージコミットの作業を失わない方法

特定のコードの変更が失われているケースがあることがあります。私は問題を追跡しましたが、それはマージコミットによって引き起こされたようです:

  1. 開発者は、起源からローカルリポジトリへの変更を引き出します。

  2. マージコミットが行われます。これは自動的に(デフォルトで)コミットされないため、開発者はマージコミットを変更します(特定のコードファイルの変更を破棄するなど)。

  3. 開発者が原点にプッシュします。

このシナリオから自分自身を守るための適切な方法はありますか?

また、どのようにして失われた変更を最も簡単に復元できますか?私は通常、手動で変更を再度適用します。

+0

マージが完了する前にいつでもコミットにロールバックできます。 – lilezek

+1

ほとんどの場合、マージ競合がうまく処理されていないため、仕事を失っている可能性があります。 – hspandher

+1

通常、開発者はマージコミットからの変更を破棄しないでください。 – crashmstr

答えて

1

私はこの種のケースでは、単にマージコミットを避けるべきだと思います。それはあなたが単にあなたが引くたび例えば、リモートブランチの上で作業をリベースする必要があることを意味:

git pull origin master --rebase 

あなたは、これはあなたの.gitconfigでデフォルトに設定することができます。

+0

このアプローチには何らかの欠点がありますか? –

+0

これを行うためにファイルを変更することはできませんので、変更を隠して、変更が完了した後に解除する必要があるかもしれません。あなたのチームがマージ競合で苦労している場合、これは魔法の解決策ではありません。しかし、これは開発者がすでにgitリポジトリにあるものの上に自分の作業を追加するので、これはもっと厳しいものだと思います。 – Axnyff

関連する問題