git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有啥区别?

Posted

技术标签:

【中文标题】git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有啥区别?【英文标题】:What's the difference between Git add (ctrl+A) and Stage to Commit (ctrl+T) in the git GUI?git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有什么区别? 【发布时间】:2012-04-13 08:30:32 【问题描述】:

如果 git add CTRL+A 开始跟踪更改并暂存已跟踪文件的更改,我为什么要使用 Stage 提交 CTRL +T 在 git gui 中?

【问题讨论】:

【参考方案1】:

这是我的问题的答案: GIT GUI 中的 CTRL+A 实际上是 ADD A NEW REMOTE 和 GIT ADD 不一样! 在 GIT GUI 中,'adding' 和 'staging' 之间似乎没有任何区别,两者都是由 'stage to Commit' 命令完成的:CTRL+T。并据此:http://hoth.entp.com/2008/11/5/what-git-add-really-means, 'git stage' 是 'git add' 的别名

感谢 aardvarkk 的回答。我想“添加”可以被认为是文件的“第一次登台”,但真正的“添加”意味着“添加到舞台”或“登台提交”。

简而言之,CTRL+T = GIT GUI 中的“提交阶段” = 命令中的“git add” line CTRL+A = 添加一个新的遥控器

【讨论】:

同样是“添加到[提交]索引”和“索引”。【参考方案2】:

根据git documentation,它们是同义词。该命令为提交准备文件。

示例:git add app_controller.php

【讨论】:

【参考方案3】:

要提交的阶段适用于已经跟踪更改的文件,而您已经更改了这些更改。您通常只需“添加”一次文件即可开始跟踪更改,然后您只需暂存文件以提交您已更改的文件。

【讨论】:

但是 "add" ,即 CTRL+A ,也会对跟踪文件进行分阶段更改,所以 CTRL+T 似乎是多余的。

以上是关于git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Git自带的Git GUI使用

利用git bash和git gui向git远程仓库提交文件

通过Git Gui Here上传本地项目到GitHub上

如何仅获取远程 git 操作来触发 ssh-agent 的 ssh-add 事件?

git stage 与git add 有啥区别

如何使用 git gui 进行变基?