[译]git add
git add
git add命令把工作目录下面的有修改的文件添加的index(staging)里面去. git add告诉Git你想在下次commit的时候把什么文件包含进去. 但是, git add没有真正的对仓储有什么大的影响--在commit之前修改没有真正的被记录下来.
在add之前, 可以使用git status来查看工作目录和index区域的状态.
用法
git add <file> |
把文件的所有修改加入到index(staging)中, 为了下次commit.
git add <directory> |
把文件夹的所有修改加入到index(staging)中, 为了下次commit.
git add -p |
会出现一个交互式的界面供你一个个的选择哪些文件要添加到commit中, 哪些不要. 注意了如果文件是untracked的状态, 他不会出现在这个界面中供你选择.
讨论
git add 和 git commit是Git最基本的命令组合.
开发一个项目使用git始终是围绕着"修改/stage/commit"这个模式. 首先, 你在你的本地工作目录编辑文件. 当你准备去保存一个当前项目状态的时候, 使用git add stage修改. 接下来你有了一个stage的快照, 使用git commit提交项目.
git add和svn add非常不同, svn add是把文件添加到仓储. git add是把文件的修改添加到仓储. 这意味着你每次修改文件后需要使用git add, 而svn add只需要为每个文件使用一次就行了.
Staging区
staging区是Git一个很独特的特性. 你可以把他认为是一个本地工作目录到项目历史中间的一个缓存区.
stage能让你组织相关的change到一个快照, 然后再提交到项目的历史里去, 而不是将从上一次commit后的所有change都一次提交. 这样你可以在commit之前利用add组织好一个主题的change然后再commit
例子
当你开始一个新项目的时候, git add可以和和svn import一样.用下面的两行命令为当前的文件夹创建一个初始的commit:
git add . git commit |
git add hello.py git commit |
上面的命令被用来纪录一个已经存在文件的change. Git认为一个新文件和一个已经被加入到仓储后被修改的文件是一样的, 都是change状态.
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密