// 配置用户名
git config --global user.name "用户名"
// 配置邮箱
git config --global user.email 邮箱
// 查看配置
git config --list
git 三种状态与工作模式
状态:已提交 已修改 已暂存
工作区域: 工作区 暂存区 git仓库
git 初始化本地仓库
git init
git 查看有没有在暂存区
注意:
红色:没有添加到暂存区。
绿色:已经在在暂存区,没有提交到仓库。
git status
git 添加到暂存区(git status 查看 路径)
git add .
git add "单个文件的路径"
git 添加提交描述信息
git commit -m "说明"
git 查看本地仓库的文件
git ls-files
git 查看提交日志
git log
git 文件比对(以以前的文件比对)
–变动前
++变动后
@@ 位置 (起始行,结束行)
git diff HEAD -- 比对的文件名
文件版本的切换
// 先查看提交版本
// 每个版本显示详细
git log
// 简化提交日志版本输出(提交日志的标识 , 在哪个版本上,说明)
git log --pretty=oneline
回退版本
// 注意HEAD是当前版本^是当前版本的上一个版本,^^退两个版本
git reset --hard HEAD^
// 注意HEAD是当前版,~是后退100个版本
git reset --hard HEAD~100
// 回退到指定版本
git reset --hard 唯一标识 (先用git log --pretty=oneline 查看标识 5~8个字符)
// 查看操作日志
git reflog
工作区文件删除恢复
// 从本版库检测出来
git checkout -- 文件名
删除git版本库的文件
git rm 文件名
下载项目到本地
git clone 地址
把远程的仓库绑到本地
git remote add origin 地址
把本地推送到远程
git push -u origin master
git分支
// 创建分支并且切换到新分支
git checkout -b 分支名
// 切换分支
git checkout 分支名
// 删除分支
git branch -d 分支名
// 查看分支
git branch
// 合并分支 (把另一个分支合并到当前分支)
git merge 分支名
// 分支重命名
git branch -m 旧分支名 新分支名
git branch -M
本地分支与远程分支的操作
// 查看本地与远程分支
git branch -a
// 推送分支到远程
git push origin 分支名
// 删除远程分支
git push origin
// 拉取远程指定分支在本地创建分支
git checkout -b
分支冲突和解决
1、本地冲突
2、远程冲突
1、本地冲突
// 合并冲突解决
<<<<<< HEAD 当前分支的内容
====== 隔开
>>>>>> 要合并的分支内容
// 保留两边的内容
删除里面里的 <<<< ==== >>>>
再去添加到暂存区
2、远程冲突
先git pull 拉取一下文件
两个文件合并 跟步骤1一样
标签管理 (添加标签会打包一个版本)
// 新建标签
git tag tag_name
// 添加标签并指定标签描述信息
git tag -a tag_name -m 'xxxx'
// 查看所有标签
git tag
// 删除一个本地标签
git tag -d tag_name
// 推送本地标签到远程
git push origin --tags
// 删除一个远程标签
git push origin :refs/tags/tag_name
git ssh 拉去项目
// 本地生成ssh 公钥私钥
ssh-keygen -t rsa -C "github账户邮箱"
// 上传公钥到github
// 校验ssh 环境
ssh -T git@github.com
// 执行远程推送
// 绑定远程仓库地址
git remote add origin 地址
没有介绍的命令
// 查看的是工作区实时修改的内容
cat 文件名
// commit 提交 撤回
git reset --soft HEAD
1.按键盘左上角"Esc"
2.输入冒号加wq “:wq”, 按回车键,意思就是就是忽略这个提示
合并分支
git merge test_alpha