我在本地使用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