Git - 提交更改
简介
你好,有抱负的程序员们!今天,我们将深入了解Git中最基本的概念之一:提交更改。作为你亲切的计算机科学老师,我将逐步引导你完成这一关键过程。别担心如果你是编程新手——我们将从基础开始,逐步提升。在本教程结束时,你将能够像专业人士一样提交更改!
什么是提交?
在我们深入了解如何操作之前,让我们先了解提交到底是什么。在Git中,提交就像是在项目中的特定时间点拍摄一张快照。这是保存你的工作并跟踪代码库中更改的方式。把它想象成在视频游戏中创建一个检查点——如果需要,你总是可以返回到那个点。
提交的重要性
提交是项目历史的构建块。它们允许你:
- 跟踪随时间的变化
- 高效地与他人协作
- 如果出现问题,回滚到之前的版本
- 理解项目的演变
现在我们知道提交的重要性,让我们来学习如何创建提交!
Git提交的基本工作流程
步骤1:检查状态
在提交之前,检查你的仓库状态总是一个好主意。这会告诉你哪些文件已被修改、添加或删除。
git status
你可能会看到这样的输出:
位于分支 main
更改尚未提交:
(使用 "git add <file>..." 更新将要提交的内容)
(使用 "git checkout -- <file>..." 放弃工作目录中的更改)
修改: hello_world.py
没有更改添加到提交(使用 "git add" 和/或 "git commit -a")
这个输出告诉我们,我们已经修改了一个名为 hello_world.py
的文件,但我们还没有将其暂存以提交。
步骤2:暂存更改
在我们能够提交之前,我们需要暂存我们的更改。暂存就像是在结账前将商品放入购物车。
要暂存所有更改的文件:
git add .
要暂存一个特定的文件:
git add hello_world.py
暂存后,如果我们再次运行 git status
,我们会看到:
位于分支 main
将要提交的更改:
(使用 "git reset HEAD <file>..." 取消暂存)
修改: hello_world.py
步骤3:提交更改
现在我们已经暂存了我们的更改,我们准备提交!
git commit -m "添加hello world函数"
-m
标志允许我们直接在命令行中添加提交信息。总是写清楚、简洁的信息来描述你做了哪些更改。
如果你现在运行 git status
,你会看到:
位于分支 main
工作树干净,没有要提交的内容
恭喜你!你已经完成了你的第一个提交!
高级提交技巧
修改提交
有时,你可能忘记添加一个文件或者想更改你的提交信息。而不是创建一个新的提交,你可以修改最后一个提交:
git commit --amend
这将打开你的默认文本编辑器,你可以在其中修改提交信息。如果你想添加忘记的文件:
git add forgotten_file.py
git commit --amend
交互式暂存
对于更多控制你正在提交的内容,你可以使用交互式暂存:
git add -i
这将打开一个交互式菜单,你可以从中选择性地暂存文件的某些部分。
提交的最佳实践
以下是在进行提交时应遵循的最佳实践表格:
实践 | 描述 |
---|---|
频繁提交 | 进行小而频繁的提交,而不是大而不频繁的提交 |
写清晰的信息 | 使用现在时态并在你的提交信息中描述 |
每个提交一个特性 | 每个提交应该代表一个单一的逻辑更改 |
提交前测试 | 确保你的代码在提交前能正常工作 |
审查你的更改 | 使用 git diff 在提交前审查更改 |
查看提交历史
要查看你的提交历史,使用:
git log
这会显示一个按逆序排列的所有提交列表。你会看到类似这样的内容:
提交 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t
作者:你的名字 <[email protected]>
日期: Mon Jan 1 12:00:00 2023 +0000
添加hello world函数
提交 9s8r7q6p5o4n3m2l1k0j9i8h7g6f5e4d3c2b1a
作者:你的名字 <[email protected]>
日期: Sun Dec 31 23:59:59 2022 +0000
初始提交
结论
就这样,大家!你已经学习了Git中提交更改的内外细节。记住,提交就像在游戏中保存进度——经常做,以避免丢失你的辛勤工作。在你继续编程之旅时,你会发现良好的提交习惯会为你节省时间和避免未来的头痛。
实践出真知,所以不要害怕尝试这些命令。在你意识到之前,你将能够在睡梦中提交更改(尽管我不建议在梦中编程——相信我,我试过,编译错误是噩梦般的!)。
继续编码,继续提交,最重要的是,保持乐趣!下次见,这是你亲切的计算机科学老师签名告别。快乐提交!
Credits: Image by storyset