我在本地使用git来管理我正在处理的这个MVC5项目。 UI人员不使用任何源代码控制或视觉工作室。它的工作方式是 - 我将视图上传到FTP进行更改的地方。然后我预计会在我的本地系统中下载(它会覆盖自我上次上传到FTP以来所做的任何更改)并合并这些更改。所以基本上,因为我在相同的文件上并行工作,所以他最终在相同文件的旧版本上工作。有选择地接受视觉工作室中的编辑?
但幸运的是,在几乎所有情况下,UI更改都与我自己的更改没有冲突,即它们位于文件的不同部分,而不是我的更改。所以,我想要做的就是能够以某种方式选择更改。例如,visual studio显示“与未修改的比较”中的更改,是否可以查看每个突出显示的更改并接受/拒绝提交?
或者(但不是最好),是否有可能检查更改并将两个版本的所有更改合并/提交到主分支?
我没有命令行使用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.Id到model.Name并增加了一个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>
他的更改后的版本 - (他刚刚在top 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