附录 D 使⽤ Git 进⾏版本控制 版本控制软件让你能够为处于可⾏状态的项⽬创建快照。修改项⽬ (如实现新功能)后,如果项⽬不能正常运⾏,可恢复到上⼀个可⾏ 状态。 使⽤版本控制软件,你可以放⼿⼤胆地改进项⽬,不⽤担⼼项⽬因你犯错 ⽽遭到破坏。这不仅对于⼤型项⽬来说尤其重要,对于较⼩的项⽬(那怕 是只包含⼀个⽂件的程序)来说也⼤有裨益。 在本附录中,你将学习如何安装 Git ,以及如何使⽤它来对当前开发的程序 进⾏版本控制。 Git 是当前最流⾏的版本控制软件,它不仅包含很多⾼级⼯ 具,可帮助团队协作开发⼤型项⽬,⽽且其最基本的功能也⾮常适合独⽴ 的开发⼈员使⽤。 Git 通过跟踪对项⽬中每个⽂件的修改来实现版本控制。 如果你犯了错,只需恢复到保存的上⼀个状态即可。 D.1 安装 Git Git 可在所有操作系统上运⾏,但安装⽅法随操作系统⽽异。接下来的⼏⼩ 节详细说明了如何在各种操作系统中安装它。 有些系统默认安装了 Git ,通常是随你安装的其他包⼀起安装的。在尝试安 装 Git 前,看看系统是否已安装了它:打开⼀个终端窗⼝,并执⾏命令 git --version。
D.1 安装 Git
D.1 安装 Git Git 可在所有操作系统上运⾏,但安装⽅法随操作系统⽽异。接下来的⼏⼩ 节详细说明了如何在各种操作系统中安装它。 有些系统默认安装了 Git ,通常是随你安装的其他包⼀起安装的。在尝试安 装 Git 前,看看系统是否已安装了它:打开⼀个终端窗⼝,并执⾏命令 git --version。如果在输出中看到了具体的版本号,就说明系统安装了 Git 。如果看到⼀条消息,提⽰你安装或升级 Git ,只需按屏幕上的说明做即 可。
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.1 安装 Git 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.2 创建项目
D.2 创建项⽬ 我们来创建⼀个要进⾏版本控制的项⽬。在系统中创建⼀个⽂件夹,并将 其命名为 git_practice 。在这个⽂件夹中,创建⼀个简单的 Python 程序: hello_git.py print("Hello Git world!") 我们将使⽤这个程序来探索 Git 的基本功能。 D.3 忽略⽂件 扩展名为 .pyc 的⽂件是根据 .py ⽂件⾃动⽣成的,因此⽆须让 Git 跟踪它 们。这些⽂件存储在⽬录 __pycache__ 中。
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.2 创建项目 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.3 忽略文件
D.3 忽略⽂件 扩展名为 .pyc 的⽂件是根据 .py ⽂件⾃动⽣成的,因此⽆须让 Git 跟踪它 们。这些⽂件存储在⽬录 __pycache__ 中。为了让 Git 忽略这个⽬录,创建 ⼀个名为 .gitignore 的特殊⽂件(这个⽂件名以句点打头,且没有扩展 名),并在其中添加如下⼀⾏内容: .gitignore __pycache__/ 这会让 Git 忽略⽬录 __pycache__ 中的所有⽂件。
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.3 忽略文件 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.4 初始化仓库
D.4 初始化仓库 前⾯创建了⼀个⽬录,其中包含⼀个 Python ⽂件和⼀个 .gitignore ⽂件,现 在可以初始化⼀个 Git 仓库了。
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.4 初始化仓库 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.5 检查状态
D.5 检查状态 执⾏其他操作前,看⼀下项⽬的状态: git_practice$ git status ❶ On branch main No commits yet ❷ Untracked files: (use "git add <file>..." to include in what will be committed) .gitignore hello_git.py ❸ nothing added to commit but untracked files pres
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.5 检查状态 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.6 将文件加入仓库
D.6 将⽂件加⼊仓库 下⾯将这两个⽂件加⼊仓库,并再次检查状态: ❶ git_practice$ git add . ❷ git_practice$ git status On branch main No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) ❸ new file: .gitignore new file: hello_git.py git_pra
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.6 将文件加入仓库 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.7 执行提交
D.7 执⾏提交 下⾯来执⾏第⼀次提交: ❶ git_practice$ git commit -m "Started project." ❷ [main (root-commit) cea13dd] Started project. ❸ 2 files changed, 5 insertions(+) create mode 100644 .gitignore create mode 100644 hello_git.py ❹ git_practice$ git statu
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.7 执行提交 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。
D.8 查看提交历史
D.8 查看提交历史 Git 记录所有的项⽬提交。
这节解决什么:这一节主要解决《附录 D 使用 Git 进行版本控制》里一个更具体的子问题:D.8 查看提交历史 该怎样落到实际代码或项目动作上。
怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。
提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。