1. 查看git版本
git --version
2. 设置用户名和邮箱
git config --global user.name "xxx" // 设置名字
git config --global user.email "xxx.com" // 设置邮箱
3. 本地仓库的初始化操作
git init // 生成一个隐藏的.git文件夹
4. 将文件提交到暂存区
git add file // file 是文件的名称 . 将文件全部提交一次
5. 将文件提交到本地库
git commit -m "xxxxxxx" [要提交的文件名称] // -m 后面是关于本次提交的描述
6. 查看工作区和缓存区的状态
git status
7. 查看由近到远的提交日志
git log // commit xxxxxxxxxxxx 表示当前历史记录对应的索引
/**
历史数据过多会产生分页效果
下一页:空格
上一页: b
尾页: END
退出:q
*/
8.查看日志:展示索引+提交描述信息
git log --pretty=oneline
9. 查看日志:展示简写索引+提交描述信息
git log --oneline
10. 查看日志: 简写索引 + HEAD@{Number} + 提交描述信息
git reflog // number 指针会退到当前历史版本需要几步
11. 前进或者回退历史版本3
git reset --hard [索引] // 本地库的指针移动的同时,重置暂存区,但是工作区不动
12. 前进或者回退历史版本2
git reset --mixed [索引] // 本地库的指针移动的同时,重置暂存区,但是工作区不动
13.前进或者回退历史版本3
git reset --soft [索引] // 本地库的指针移动的同时,暂存区不动,工作区也不动
14. 比对工作区和暂存区的文件差异
git diff [文件名称] // git 是以行为单位, 不加文件名称是比对所有文件的差异
15.比较暂存区和本地库的文件差异
git diff [索引] [文件名称] // HEAD 指向当前版本的指针
16. 查看分支
git branch -v
17. 创建分支
git branch [分支名称]
18. 切换分支
git checkout [分支名称]
19. 合并分支
git merge [分支名称] // 将中括号中的分支合并到当前分支
20. 查看远程仓库是否有别名
git remote -v
21 创建别名
git remote add [要创建的别名名称] [远程仓库的地址]
22. 推送远程分支
git push [远程库的别名] [被推送的分支]
23. 克隆远程仓库
git clone [远程库的地址]
// 克隆操作
// 1. 初始化本地仓库
// 2. 将远程库的代码完整的克隆到本地仓库
// 3. 将远程仓库的别名命名为;origin
24. 拉取远程分支代码
git fetch [远程库的别名] [被拉取的分支] // 只是拉取到本地仓库,没有同步到工作区
25 拉取 + 合并 远程代码
git pull [远程库的别名] [被拉取的分支] // pull 相当于fetch和merge两步操作
26.允许不相关的历史合并
git pull [远程库的别名] [被推送的分支] --allow-unrelated-histories // git 2.9.2 版本 解决两个仓库有不同的开始点
git pull -u [远程库的别名] [被推送的分支] -f // 解决冲突后提交