41

这个问题:

你能用 TortoiseGit 与索引/暂存区交互吗?

TortoiseGit 的主要功能不是消除对 git 命令行的需要,总的来说,我同意。

但是,git-gui 有一个我经常使用的功能(可能是为了弥补糟糕的工作流程):能够从当前补丁中选择性地暂存或取消暂存大块或行,以便在多个提交中将一堆散布的更改拆分为连贯的更改集.

命令行替代方案(对我来说,无论如何)有点笨拙,所以,理想情况下,我想在 TortoiseGit 中做同样的选择性提交。

到目前为止,我还没有找到一种方法来做到这一点,而且我怀疑,从另一个问题的答案来看,这是不可能的。有人可以确认一下吗?

4

5 回答 5

55

是的,现在可以:请参阅问题 222 - 它采用与 TortoiseSVN 相同的方法,您可以:

  • 右键单击文件,选择“提交后恢复”
  • TSVN 在工作副本之外创建文件副本,该文件在 > 提交对话框中以不同方式显示(可能是覆盖图标或不同颜色)
  • 用户可以双击该文件以在 TMerge 或其他一些差异工具中打开它并撤消所有不应提交的更改,然后保存这些更改
  • 犯罪
  • 提交完成后,原始文件的副本被移回

来自 TSVN 第 68 期

于 2012-02-17T12:00:33.183 回答
16

到目前为止,我见过的唯一一个完全支持在 GUI 中进行选择性暂存的 Windows 客户端是SmartGit

因此,与 TortoiseGit 或 GitExtensions 相比,它也有弱点。

对我来说,SmartGit 的主要亮点是:

  1. 无法比较两个修订版。你只能看到一个和它的父级之间的差异(TortoiseGit 可以)。
  2. 如果我对所有内容都不感兴趣(TortoiseGit 可以),则无法(嗯,这有点奇怪,我可能没有找到方法)将日志限制到某个文件夹。
  3. 与 VisualStudio 集成(有点主观,但 GitEx 有它并且非常方便)

我记得还有别的东西,但现在评估 SmartGit 的最新版本我找不到它。要么是固定/添加的,要么我只是忘记了那次我不能做的事情。

无论如何,我在某些事情上同时使用 GitEx 和 TortoiseGit,而对于其他一切,控制台是最好的工具。

于 2011-08-07T16:42:37.923 回答
5

issue 222的外观来看,“ add -p”功能尚未实现。

您可以添加对部分提交文件的支持吗?( git add -p)。
我了解 TortoiseGit 的工作方式与正常的“”有点不同git index,但我仍然希望以某种方式对此提供支持。

我只想对文件进行一些更改。
例如,只提交文件的单行修复,其余的留在工作副本中。

于 2011-08-07T09:48:49.623 回答
5

SourceTree ( https://www.sourcetreeapp.com/ ) 有一个非常直观的 GUI 用于选择性分期。它与 BitBucket 集成(毕竟是同一家公司),但可以轻松地与任何 git 存储库一起使用。

我仍然并行使用 TortoiseGit,特别是因为一些不错的功能,比如修订图。

于 2016-01-22T09:45:18.920 回答
0

有从 2020 年开始实现此功能的拉取请求,希望它会尽快合并。

https://github.com/TortoiseGit/TortoiseGit/pull/233

于 2021-01-19T10:52:46.007 回答