私が作業しているこのMVC5プロジェクトにgitをローカルで使用しています。 UI担当者は、ソースコントロールやビジュアルスタジオを使用していません。それが動作する方法は - 私は彼が彼の変更を行うFTPにビューをアップロードします。それから私は私のローカルシステム(私が最後にFTPにアップロードしたときに行った変更を上書きする)でダウンロードし、変更をマージすることが期待されます。基本的に、私は同じファイルで並行して作業しているので、同じファイルの古いバージョンで作業することになります。ビジュアルスタジオでgitの編集を選択的に受け入れますか?
ありがたいことに、ほとんどの場合、UIの変更は自分の変更と矛盾しません。つまり、変更はファイルのさまざまな部分にあります。ですから、私は何とか変更をコミットできるようにすることを検討しています。例えば、Visual Studioは "Umodifiedとの比較"の変更を示しています。強調表示された各変更を確認し、コミットを受け入れるか拒否することは可能ですか?
また、変更を検査し、両方のバージョンからのすべての変更をメインブランチにマージすることは可能ですか?
私はgitのコマンドラインでの使用経験がありませんので、可能であれば、これをVisual Studio内で実現することを本当に考えています。以下は
一例である -
オリジナルバージョン - 私のアップデート後
<div class="form-horizontal">
<h4>Balance</h4>
<hr />
<div class="form-group">
@Html.LabelFor(model => model.Id, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Id, new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>
マイバージョン - (私はちょうどmodel.Nameにmodel.Idを変更し、foreachループを追加しました)
<div class="form-horizontal">
<h4>Balance</h4>
<hr />
<div class="form-group">
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
@foreach(var item in model.Items) {<span>@item.Name</span>}
</div>
</div>
彼の変更後の彼のバージョン - (彼はちょうどトップのdivにtableviewという新しいクラスを追加しました)
<div class="form-horizontal tableview">
<h4>Balance</h4>
<hr />
<div class="form-group">
@Html.LabelFor(model => model.Id, htmlAttributes: new { @class = "control-label col-md-2" })
@Html.EditorFor(model => model.Id, new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>
ご覧のとおり、変更はファイルの別々の部分にあります。
あなたの変更はローカルリポジトリに既にコミットされていますか?または、あなたの作業フォルダに座っているだけですか? – PatrickSteele
ベストオプション:gitを使用するようにします。次善策:ブランチとマージ戦略を使用し、 "ftp"ブランチへのマージであるFTPにプッシュするたびに。他の開発者からの変更はftpブランチの上にあります(言い換えれば、gitを使用して、FTP経由で取得するコミットを作成することによって "偽"します)。 – crashmstr