2013-12-23 64 views
3

我正在從Visual Studio 2012的Subversion轉移到Git。在一個小團隊中,我們與團隊成員共享的主分支一起工作。用於Git提交系統的Visual Studio工具

在Subversion當兩個團隊成員更改相同的源文件,有沒有解決的衝突上提交的邏輯是:

  1. 一是團隊成員更新本地(此處無變化)複製,然後提交與標籤的變化「方法A的變化」。
  2. 二隊成員更新本地副本(更改自動合併),然後提交更改標籤「方法B中的更改」。

在Git中我有其他行爲:

  1. 一是團隊成員同步和承諾,推動與標籤「在A法更改」的變化。
  2. 第二個團隊成員無法同步,因爲存在衝突,因此他使用標記「方法B中的更改」提交更改,然後提交更改(更改自動合併)。
  3. VS創建一個第三次提交自動文本「Merge branch'master'of http:// ...」,其中包含兩個提交的最終版本。
  4. 然後第二個成員可以推送這兩個提交,並且文件的歷史記錄得到3個提交。

這個自動提交不允許改變文本(只有當我得到衝突手動解決)。這是使用Visual Studio Tools for Git的正確方法嗎?

+1

「微軟Git」,這個名字只是想讓寶寶衝在臉上。 // offtopic – OneOfOne

+1

這是預期的行爲。當你推動你的更改時,你以前的提交與原始描述也將被推送。 – jessehouwing

+1

官方名稱是「Visual Studio Tools for Git」,應該保存這些嬰兒。 @OneOfOne – jessehouwing

回答

2

只要提交沒有被推送到遠程,並且尚未與其他團隊成員共享,則可以使用命令行對其進行更改。 Using Git commit --amend you can update the commit message locally before pushing it back to your Git repository

此命令未在當前版本的Visual Studio Tools for Git中使用Visual Studio UI公開,因此目前命令行是您唯一的選擇。

+1

由於軟件包管理器控制檯只是PowerShell的一個實例,因此您可以將其用於命令行......您甚至可以在PMC中使用posh-git,非常酷。 http://dahlbyk.github.io/posh-git/ – Number8

相關問題