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

我的任务是向我的同事做Git演讲,他们几乎完全是Windows用户,他们习惯于使用TortoiseCVS。 我一直在使用Git大约一年,但我几乎完全使用Unix命令行界面。

所以我一直在尝试熟悉Windows GUI Git工具,包括TortoiseGit。 但在我看来,这不仅仅是Git命令行界面上的GUI皮肤,而且实际上完全抽象了一些东西,特别是索引。

例如,当我在Windows资源管理器中右键单击一个新的,未版本控制的文件时,我可以从TortoiseGit菜单中选择“添加”,然后提交此文件,但是已经在Git中的文件中缺少相同的菜单项哪种情况下我只看到选项“submodule add”。

有没有办法与TortoiseGit的索引进行交互?

我在寻找类似于git addgit diff --cached ,和git reset HEAD

以下是Google小组关于此事的消息,但它是从去年夏天开始的。

我使用TortoiseGit版本1.6.5.0和msysgit版本1.7.4.msysgit.0,如果它很重要。 我几天前安装了它们,所以它们可能是合理的最新的。


答案是: 不,你不能

对我来说,TortoiseGit是一个工具,你可以用它来进行转换 - 在你的情况下--CVS转换为Git更容易(就像我在回答TortoiseGit时所写的那样,实际上让Git更容易使用,比如TortoiseSVN?)。 但是一旦转换完成并且你的同事们对Git更加熟悉,现在是时候想出真正的工具了。

与Git交互的最强大的工具是命令行。 期。 Git Gui和gitk也可用,带来了一些便利,但缺乏探索者整合(至少在叠加方面)。 但是在多头开发框的时代:为什么不把Git Gui放在一台显示器上(用于一般管理的东西)并在另一台显示器上工作?

我最近也在我的团队中做过Git的介绍。 我们习惯了TortoiseSVN,所以我还向他们展示了如何使用Tortoise添加文件,如何提交等等。 但是在每张幻灯片中,我还注意到他们必须输入Git Bash才能获得相同的结果。 这样,一旦他们有了更多的经验,他们可以拿出介绍幻灯片,并查看他们必须使用的命令。


在一定程度上,您可以在TortoiseGit中执行这些操作。 例如,有一个重置对话框。 它们没有显着特征(我认为),因为使用TortoiseGit意味着你对git索引的需求减少 - 有方便且功能强大的GUI方法用于选择和审查你打算提交的内容,因此索引变得不那么必要。

话虽如此,TortoiseGit为初学者和高级git用户带来了许多有用的东西,尽管它只是对命令行的补充,而不是替代品。

作为一个额外的转换,您可能会对我使用的批处理文件感兴趣,通过允许从命令行方便地调用那些TortoiseGit GUI窗口来模糊该行:https://github.com/ses4j/tgit


事实远比迄今为止的答案更糟。 我尝试了一个实验: git add为索引git add一些更改,恢复工作树以匹配当前的HEAD,并运行TortoiseGit提交。

它将更改后的文件列为符合提交内容的文件之一,因此它意识到某些内容已更改,这给人的印象是至少它知道如何完成已由另一工具执行的提交。 但是,当我选择它时,提交实际上使用了工作树副本并销毁了索引中未提交的数据 ,并且提交最终成为该文件的无操作。

一个危险的工具,我想我会避免它。

链接地址: http://www.djcxy.com/p/24437.html

上一篇: Can you interact with the index/staging area with TortoiseGit?

下一篇: TortoiseGit problems "Is Files"