git 基础

git

签名

项目级别/仓库级别: 仅在当前本地库范围内有效
 git config user.name tom_pro
 git config user.email [email protected]
 信息保存位置: ./.git/config 文件

系统用户级别: 登录当前操作系统的用户范围
 git config --global user.name tom_glb
 git config --global [email protected]
 信息保存位置: ~/.gitconfig 文件

级别优先级
 就近原则: 项目级别优先于系统用户级别, 二者都有时采用项目级别
的签名
 如果只有系统用户级别的签名, 就以系统用户级别的签名为准
 二者都没有不允许

基本操作状态查看

git status

查看工作区、 暂存区状态
添加

git add [file name]

将工作区的“新建/修改” 添加到暂存区
提交

git commit -m “commit message” [file name]

将暂存区的内容提交到本地库
查看历史记录
git log
git 基础
多屏显示控制方式:
空格向下翻页
b 向上翻页
q 退出
git log --pretty=oneline
git log --oneline
git 基础
git reflog
git 基础
[email protected]{移动到当前版本需要多少步}

前进后退

 本质
git 基础
 基于索引值操作[推荐]
 git reset --hard [局部索引值]
 git reset --hard a6ace91
 使用^符号: 只能后退
 git reset --hard HEAD^
 注: 一个^表示后退一步, n 个表示后退 n 步
 使用~符号: 只能后退
 git reset --hard HEAD~n
 注: 表示后退 n 步

reset 命令的三个参数对比

 --soft 参数
 仅仅在本地库移动 HEAD 指针
 --mixed 参数
 在本地库移动 HEAD 指针
 重置暂存区
 --hard 参数
 在本地库移动 HEAD 指针
 重置暂存区
 重置工作区

删除文件并找回

 前提: 删除前, 文件存在时的状态提交到了本地库。
 操作: git reset --hard [指针位置]
 删除操作已经提交到本地库: 指针位置指向历史记录
 删除操作尚未提交到本地库: 指针位置使用 HEAD

比较文件差异

 git diff [文件名]
 将工作区中的文件和暂存区进行比较
 git diff [本地库中历史版本] [文件名]
 将工作区中的文件和本地库历史记录比较
 不带文件名比较多个文件

分支操作

创建分支

git branch [分支名]

查看分支

git branch -v

切换分支

git checkout [分支名]

合并分支

第一步: 切换到接受修改的分支(被合并, 增加新内容) 上
git checkout [被合并分支名]
第二步: 执行 merge 命令
git merge [有新内容分支名]

解决冲突

 冲突的表现
git 基础
 冲突的解决
 第一步: 编辑文件, 删除特殊符号
 第二步: 把文件修改到满意的程度, 保存退出
 第三步: git add [文件名]
 第四步: git commit -m “日志信息”
 注意: 此时 commit 一定不能带具体文件名

远程仓库

创建远程库地址别名

git remote -v 查看当前所有远程地址别名
git remote add [别名] [远程地址]
git 基础

推送

git push [别名] [分支名]
git 基础

克隆

git origin [远程地址]
git 基础
效果
1 完整的把远程库下载到本地
2 创建 origin 远程地址别名
3 初始化本地库