Git 使用流程
Git 是一种分布式管理工具,用于进行版本控制,以便将来查询特定版本修订情况的系统
配置信息
命令名称 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户邮箱 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add file | 添加到暂存区 |
git commit -m "log detail" file | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
git config credential.helper store | 配置储存账号密码 |
git rm -r -n --cached ./ | 查看远程仓库的文件 |
git help | 查看帮助 |
首先要配置全局的用户信息,通过前两个命令即可设置。我们可以用
git config
来查询相关指令,找到 --get 参数,使用
git config --get user.name
git config --get user.email
来查看设置信息;当然,也可以在家目录下,用
cat .gitconfig
显示 git 的配置文件进行查看,其中 .gitconfig 就在家目录下。
注意:这里设置的用户签名和之后 github 或 gitee 账号没有关系
然后进行初始化本地库。需要建立一个文件夹,在其中使用
git init
git 就会新建一个 .git 文件夹,它是隐藏文件夹。
提交操作
可以随时查看 git 状态
git status
这是是空的,需要使用 add 添加文件到暂存区
git add file
git add . # 添加所有变更的文件
如果想要删除添加的文件,使用
git rm --cached file
当确认要提交暂存区的文件到本地库
git commit -m "log commit" file
我们可以查看提交历史记录
git relog # 查看提交记录
git log # 查看详细提交信息
版本穿梭
当我们需要回溯之前的版本,首先用
git reflog
可以查看各个版本信息,其中分支后面的字符串就是版本号
git reset --hard 版本号
将 HEAD 指针指向指定的版本号;实际上, git 中切换版本本质上是让 HEAD 指针指向不同的版本号。
分支操作
分支的好处在于可以同时并行推进多个功能开发,提高开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。
当 master 中有代码时,才能进行分支操作。其中不带有 * 号的分支才可以删除(实际上带有 * 号的分支是当前操作的分支),同时,我们在不同分支下编辑的文件就是当前分支下的文件,切换分支就可以查看和编辑所在分支的同一文件
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
git branch -d | 删除分支 |
注意合并操作不是合并分支本身,而是合并代码,分支仍然存在,只是两部分代码相互覆盖了
合并冲突
当两个分支中的内容相互冲突时,就会合并失败,此时必须先处理分支的冲突,否则无法切换分支。这时候就需要进入编辑文件,可以看到 Git 已经给出了分支的冲突,其中 HEAD 到分割线的部分和 hot-fix 到分割线的部分就是冲突部分
我们删掉冲突的部分进行保存,然后还要再进行提交。注意这时的提交 commit 不能带有文件名。
克隆仓库
可以使用 clone 命令将 gitee 上的代码下载到本地
git clone https:// ... .git
任何开源代码都可以直接 clone ,注意它只是下载,并不建立任何连接。
远程库连接
先介绍两个基本语法:
git remote -v # 查看当前所有远程地址别名
git remote add 别名 远程地址 # 添加远程库别名
推送本地库到远程库
git push 别名 分支
注意,当远程库与本地库不一致,应当先拉取远程库到本地
git pull 别名 分支
完整流程
根据前面所有的知识总结得到建立连接和推送的整个流程:最开始需要进行全局签名设置,只需要进行一次,之后就按照下面流程
mkdir test # 建立 git 库存放的文件夹
cd test # 进入 test 文件夹
git init # 初始化 git 仓库,会建立 .git 配置文件夹
接着链接 git 库,如果库是空的就不需要拉取,如果不是空的,就要先同步拉取
git remote add Test https://... # 链接 git 库,取一个别名 Test
git pull Test master # 拉取 git 库中的分支到本地
然后就可以通过 push 来推送代码
git add file
git commit -m "detail" file
git push Test master