[Git] 提交文件修改
Git 提交修改的核心步骤可以概括为:修改文件 -> 暂存变更 -> 提交变更。
下图直观地展示了这一核心工作流,以及相关的重要命令:
下面通过结合图示,对每个步骤进行详细说明。
第一步:检查当前状态(可选,但推荐)
在开始之前,先查看哪些文件被修改了,哪些文件已经暂存了,这可以清楚地了解当前工作区的状态。
git status
第二步:将修改添加到暂存区(Stage Changes)
这是将工作目录的更改“预约”一次提交的关键步骤。
-
添加特定文件:
git add <文件名> # 示例 git add index.html git add src/main.js
-
添加当前目录下所有更改(新建、修改、删除的文件):
git add . # 或者 git add -A
-
交互式地选择要添加的更改(非常实用,可以精确控制提交内容):
git add -p
这个命令会展示每一处更改,并询问你是否要将其加入暂存区。
提示: 执行 git add
后,再次使用 git status
,会看到文件从未跟踪/已修改状态变成了 Changes to be committed
(绿色),这表示它们已进入暂存区。
第三步:提交更改(Commit Changes)
将暂存区的内容正式保存到本地仓库的历史记录中。
-
最简单的提交(附带提交信息):
git commit -m "这里填写提交说明" # 示例 git commit -m "修复了用户登录的逻辑bug"
-
编写详细的提交信息(推荐用于重要更改):
如果不使用-m
参数,Git 会打开默认的文本编辑器(如 Vim、Nano),让你编写多行的、更详细的提交信息。git commit
编辑器中通常建议的格式:
第一行:简短的摘要(不超过50字符) 第二行:空行 第三行及以后:详细的描述,说明为什么进行这次更改,做了什么,以及可能的影响。
第四步:推送到远程仓库(Push to Remote)
如果更改需要与团队共享或备份,需要将本地提交推送到远程仓库(如 GitHub、GitLab)。
git push origin <分支名>
# 示例:推送到远程的 main 分支
git push origin main
# 如果当前分支已经与远程分支关联,可以简写为
git push
其他重要场景和命令
1. 跳过暂存区直接提交
如果确认所有已修改的文件都是这次提交的一部分,可以跳过 git add
步骤。
git commit -a -m "提交所有已修改的文件"
# 或者简写为
git commit -am "提交所有已修改的文件"
注意: 这个命令只对已经被 Git 跟踪的文件的修改有效,不会包含新创建但还未被 git add
过的文件。
2. 修改最后一次提交
如果最后一次提交有疏漏(比如少了个文件,或者提交信息写错了),可以使用 --amend
选项来修补。
# 先添加漏掉的文件
git add forgotten-file.js
# 然后修正提交
git commit --amend -m "新的提交信息"
警告: 如果已经将错误的提交 git push
到了远程,修正后需要使用 git push --force-with-lease
(谨慎使用!)来覆盖远程历史。最好避免对已共享的提交进行修正。
3. 查看提交历史
git log
git log --oneline # 简洁的一行显示
git log --graph # 图形化显示分支合并历史
总结一下最常用的流程:
# 1. 日常修改代码后...
git status # 看看改了啥
git add . # 把所有改动都暂存起来
git commit -m "完成用户头像上传功能" # 提交到本地历史
# 2. 下班前或者功能完成时...
git push origin main # 推送到远程仓库,与团队同步
核心工作流:工作区 -> git add
-> 暂存区 -> git commit
-> 本地仓库 -> git push
-> 远程仓库。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭