安装 Git
Linux 用户可以自行解决。
Windows 用户可以在这个网页上下载,要使用 Git 时,打开项目所在文件夹,右键菜单选择“Git Bash Here”,在弹出的控制台里操作,最好事先了解一下 Linux 的常用命令,这里不赘述。
设置身份
使用 Git 前,先要在控制台里输入:
git config --global user.name '你的用户名'
git config --global user.email '你的邮箱'
--global 表示这是全局生效的。这些只是用来标记你的身份,这里你可以随便填写。
创建仓库
要创建一个仓库很简单,在项目所在目录里,输入 git init 即可。输入 ls -a,你会看到文件夹里多了一个 .git 文件夹,这说明创建成功了,不要动它。
接着,输入 touch .gitignore,创建一个黑名单文件,写在里面的文件都不会被提交,格式示例如下:
*
!/.gitignore
!/res/
!/res/**
!*.py
* 是通配符,这里我先把所有文件都忽略了。! 表示取消忽略,所以我把项目根目录(用 / 开头表示)下的 .gitignore 文件和 res 文件夹都取消忽略。** 也是通配符,但是它和 * 的区别在于,** 可以匹配多重目录,比如 /a/**/d.txt 可以匹配 /a/b/c/d.txt,但是 /a/*/d.txt 不行。当然,所有 .py 文件也得提交。需要注意的是,!/res/ 这一行不能省略,因为只有文件夹不被忽略,文件夹里面的文件才可能不被忽略,这听起来有些绕,你可以做个实验看看。
提交修改
接着,我们来添加一些文件,如下图所示:
res 文件夹里面有一个 img 文件夹,img 文件夹里面有一个 icon.png 图片。
然后,我们输入 git add . (一个点表示当前目录),再输入 git status,你应该会看到如下输出:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: res/img/icon.png
new file: test.py
这说明这些文件已经被提交到了“暂存区”。要完成最终提交,还必须输入 git commit -m <更改说明>。比如说,这里我输入 git commit -m "create files",你会看到以下输出:
[master (root-commit) eebe433] create files
3 files changed, 5 insertions(+)
create mode 100644 .gitignore
create mode 100644 res/img/icon.png
create mode 100644 test.py
这样我们的文件就正式被提交了。之后有什么修改,都可以像这样提交。
后悔药
版本控制系统的作用,就是可以回退修改。要撤销修改,我们先得知道之前修改了什么,可以输入 git log --pretty=oneline,你会看到许多这样的输出:
eebe433d66a5ddc26a34ceaa92e71aa7266cb514 (HEAD -> master) create files
每一行都代表一次提交的修改,前面的数字是这次修改的唯一编号。我们只需要输入 git reset --hard <编号> 即可。我们没必要输入所有的编号,只需要输入前几位即可,Git 会自动帮我们匹配,比如可以输入 git reset --hard eebe433d。当然,输入的位数也不能过少,否则可能匹配到多个修改。你也可以输入 git reset --hard HEAD^^,表示回退到上上一次修改。如果要回退到前 100 次修改,输入 100 个 ^ 有点夸张,所以可以输入 git reset --hard HEAD~100。
只要你知道修改的编号,想要跳转到哪里都可以,所以,回退后我们也可以撤销回退。
有时候,我们 add 修改完的文件之后,又后悔了,想要把它从暂存区移除,这时,可以输入 git restore --staged <文件名>,如果你连修改都不想修改,想要让修改后的文件回到最初的样子,可以输入 git restore <文件名>。
更多内容
如果你是一个单打独斗的编程初学者,只是写一些练习程序,这些功能已经足够你使用了,但是,如果你想要多人合作,或者参与开发大型开源项目等,还需要了解远程仓库、分支等内容。网上关于这些的资料还有很多,你可以自己学习。