git - 为什么我需要在 Git 中提交之前的阶段?

标签 git

我是版本控制的新手,我知道“提交”本质上是在更新您正在处理的新“当前”版本的同时创建备份。

我不明白的是,从实际角度来看,分期是为了什么。演出只是名存实亡还是有目的的?当您提交时,无论如何它都会提交所有内容,对吗?

编辑:我想我可能混淆了术语。 “暂存”文件与“跟踪”文件是否相同?

最佳答案

当您提交时,它只会提交索引中的更改(“暂存”文件)。这有很多用途,但最明显的是将您的工作更改分解为更小的独立部分。也许您在实现功能时修复了错误。您可以 git add 只添加该文件(或 git add -p 只添加文件的一部分!),然后在提交其他所有内容之前提交该错误修复。如果你正在使用 git commit -a 那么你只是在提交之前强制对所有内容进行 add 。如果您想利用暂存文件,请不要使用 -a

您还可以使用 --cached 将暂存文件视为中间工作副本以用于许多命令。例如,git diff --cached 将向您显示该阶段与 HEAD 有何不同,因此您可以看到您将要提交的内容,而无需混入其他工作更改。

关于git - 为什么我需要在 Git 中提交之前的阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4878358/

相关文章:

git - Sudo git 作为另一个用户使用 ssh-agent 进行 key 访问

git - 如何使用非主分支将子树推送到 heroku

git - 更新被拒绝,因为远程包含您在本地没有的工作

git - 使用 VSTS API 在 VSTS 中的持续集成/持续交付过程中将文件提交到 Git

git-ftp resmo git-ftp.log

Git 流程 - 摆脱一个特定的功能

git - 如果标记为 "Skip default checkout",则 Jenkins 获取变量 GIT_URL 不可用

git - 无法添加空文件夹

git - 有没有办法制作 PR 但在我的 github 帐户中将 repo 设为私有(private)?

git - 如何将 p4merge 设置为 Visual Studio 2015 的 diff 工具 |混帐