2016-01-21 8 views
5

gitでビジュアルスタジオ2015を操作します。私たちはセントラルレポジトリ(GitLab)に単一ブランチの「マスター」を持っています。 2人がリポジトリをクローンしました。Git:マージで特定の変更を隠す

  1. 「test-new-file-v.t​​xt」ファイルが最初に追加されました。ソリューションファイル(.sln)が変更され、文字列 "VisualStudioVersion = 14.0.23107.0"が変更されました。その後、ローカルリポジトリでコミットし、このコミットを中央リポジトリ(GitLab)にプッシュします。その後、私たちは、これは中央リポジトリ(GitLab)にコミット見ています enter image description here

  2. 第二の男は、溶液中で「testgit.txt」ファイルを追加しました。それは解決ファイル(.sln)も変更しましたが、文字列VisualStudioVersionを変更しませんでした。それから彼はプッシュする前に中央のリポジトリ(GitLab)を引っ張りたい。

  3. 第2の男は葛藤しています。彼はビジュアルスタジオ2015をマージし、 "VisualStudioVersion = 14.0.23107.0"の "VisualStudioVersion = 14.0.24720.0"を間違って変更したことを確認します。 2番目の人は、文字列 "VisualStudioVersion = 14.0.24720.0"を変更しないままにします。彼はこの文字列に対してローカルステート "VisualStudioVersion = 14.0.24720.0"を選択し、コミットマージを行いました。その後、中央リポジトリ(GitLab)でこの2つのコミットをプッシュします。その後
  4. 、我々は歴史と中央リポジトリ(GitLab)の変化を見ていると、二人からマージコミットを見ました: enter image description here

我々は中央リポジトリ(GitLab)でのソリューションファイルが含まれていることがわかり文字列 "VisualStudioVersion = 14.0.24720.0"とこれは正解ですが、この文字列が文字列 "VisualStudioVersion = 14.0.23107.0"を置き換えることはありません。

私の質問:

  1. それは正しい動作ですか?マージコミットで、文字列 "VisualStudioVersion = 14.0.23107.0"が "VisualStudioVersion = 14.0.24720.0"に変更されていることがわかります。
  2. 私はすべての変更を見ることができる動作をどのように達成できますか?

答えて

2
  1. 私は彼がマスターブランチにコミットする前に、彼はあなたの変更を取得していないと仮定していますので、局部的に彼がプッシュされるだろうな変化を持っていないかもしれません。これにより、ブランチが古くなった場合にコードを元に戻すことができなくなります。

  2. マスターに変更を加えないことをお勧めします。個別のローカルブランチを作成し、プル要求をマスタに使用します。

gitブランチ戦略を使用して、ブランチを整然と保つようにしてください。

Git Branching Model

関連する問題