第七节 使用 Git 进行版本控制
最后更新于:2022-04-02 01:41:52
在现代化的项目开发中,Git 基本上是标配。
[TOC]
## Git 的基本设置
在[前面的章节](environment/install-git.md)中已经为主机安装好了 Git,虚拟机 Homestead 中 Git 也是作为默认安装的软件。
接下来大部分的 Git 操作都会发生在 Homestead 虚拟机中,首先需要对其进行设置。
### 个人信息配置
首先对 Git 进行用户名和邮箱进行设置,此设置的作用是,在代码提交时自动署名标记,方便查看提交日志时区分作者。
参照下面格式,替换为自己常用的用户名和邮箱:
~~~bash
$ git config --global user.name "Your Name"
$ git config --global user.email your_email@example.com
~~~
> `--global` 选项代表对 Git 进行全局设置。
### 推送分支时相关配置
此设置是 Git 命令 push 的默认模式为 `simple`,当我们执行 `git push` 没有指定分支时,自动使用当前分支,而不是报错。
~~~bash
$ git config --global push.default simple
~~~
## 将项目纳入到 Git 代码版本管理
### 对 Git 进行初始化
~~~bash
$ cd ~/Code/Laravel
$ git init
~~~
### 将项目所有文件纳入到 Git 中
~~~bash
$ git add -A
~~~
>[info] `.gitignore` 文件中设置的除外
### 检查 Git 状态
~~~bash
$ git status
~~~
>[warning] 输出存放在 Git 暂存区的文件,这些文件还未真正提交到 Git 中。
### 保留改动并提交
将暂存区的文件都提交到 Git
~~~bash
$ git commit -m "Initial commit"
~~~
>[info] `-m` 选项后面的参数,表示本次提交的简单描述。
### 查看历史提交记录
~~~bash
$ git log
~~~
>[info] 按 `q` 可退出查看
## 线上仓库配置
### 为 Gitee 账号设置 `SSH Key`
1. 将 `SSH Key` 添加到 `ssh-agent` 中:
~~~bash
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_rsa
~~~
2. 回到 **主机中** 打印出公钥 `id_rsa.pub` 文件里的内容:
~~~bash
> cat ~/.ssh/id_rsa.pub
~~~
3. 把输出的内容复制到剪贴板里,黏贴到线上 SSH 令牌[管理页面](https://gitee.com/profile/sshkeys)
### 线上创建项目仓库 `laravel`
### 虚拟机中执行以下命令,将代码上传到 Gitee 上完成托管
~~~bash
$ git remote add origin git@gitee.com:your_name/laravel.git
$ git push -u origin master
~~~
### 日常代码更新推送
#### 保存到暂存区
~~~bash
$ git add -A
~~~
#### 提交到本地 Git
~~~bash
$ git commit -m "Say something"
~~~
>[info] `-m` 选项后面的参数,表示本次提交的简单描述。
#### 撤销文件更改
如需将在暂存区的更改文件进行强制撤销,可执行
~~~bash
$ git checkout -f
~~~
#### 将代码推送到线上
~~~bash
$ git push
~~~
';