git stage 与git add 有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git stage 与git add 有啥区别相关的知识,希望对你有一定的参考价值。

参考技术A stage是git中的一个区域,没有git stage 这个命令
你是说git stash 和git add 的区别吗?
git stash的作用是把工作区(必须是工作区中已经被git追踪到的文件)和索引中的内容暂时存到一个堆上。而且这个堆是和分支不相关的。切换分支后,依然可以看到并使用。
git add命令将文件内容添加到索引(将修改添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。

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

【中文标题】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 stage 与git add 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

“git rm --cached”、“git restore --staged”和“git reset”有啥区别

“git add -u”和“git add -A”有啥区别?

stage 和 unstage在git的区别

git diff 与 git diff -- cached 区别

Git命令add和commit的区别

git与gitlab的区别 git与gitlab有啥区别