【问题标题】:Visual Studio Tools for Git commit system适用于 Git 提交系统的 Visual Studio 工具
【发布时间】:2013-12-23 12:55:38
【问题描述】:

我正在 Visual Studio 2012 下从 Subversion 迁移到 Git。在一个小团队中,我们使用跨团队成员共享的 master 分支。

在 Subversion 中,当两个团队成员更改相同的源文件并且没有未解决的冲突时,提交的逻辑是:

  1. 第一个团队成员更新本地(此处没有更改)副本,然后使用标记“方法 A 中的更改”提交更改。
  2. 第二个团队成员更新本地副本(更改自动合并),然后使用标记“方法 B 中的更改”提交更改。

在 Git 中我还有其他行为:

  1. 第一个团队成员使用“方法 A 中的更改”标签同步、提交和推送更改。
  2. 由于存在冲突,第二个团队成员无法同步,因此他使用标记“方法 B 中的更改”提交更改,然后拉取更改(更改自动合并)。
  3. VS 使用自动文本“Merge branch 'master' of http://...”创建第三次提交,其中包含两个提交的最终版本。
  4. 然后第二个成员可以推送这两个提交,文件的历史记录得到 3 个提交。

此自动提交不允许更改文本(仅当我遇到手动解决冲突时)。这是使用 Visual Studio Tools for Git 的正确方法吗?

【问题讨论】:

  • “Microsoft Git”这个名字简直让人想打婴儿的脸。 //题外话
  • 这是预期行为。当您推送您的更改时,您之前的带有原始描述的提交也会被推送。
  • 正式名称是“Visual Studio Tools for Git”,应该可以拯救那些宝贝。 @OneOfOne

标签: git visual-studio-2012 version-control merge


【解决方案1】:

只要 Commit 没有被推送到远程并且没有与其他团队成员共享,您就可以使用命令行更改它。 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 公开,因此目前命令行是您唯一的选择。

【讨论】:

  • 由于包管理器控制台只是 PowerShell 的一个实例,您可以将它用于您的命令行...您甚至可以在 PMC 中使用 posh-git,非常酷。 dahlbyk.github.io/posh-git
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-24
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多