目录
Git使用前配置姓名和邮箱
git config --global user.name 提交人别名 //配置系统级别提交人别名
git config --global user.email 提交人邮箱 //配置系统级别提交人邮箱
git config user.name 提交人别名 //配置项目级别提交人别名
git config user.email 提交人邮箱 //配置项目级别提交人邮箱
git config --global user.name //查看系统级别提交人别名
git config --global user.email //查看系统级别提交人邮箱
git config user.name //查看项目级别提交人别名
git config user.email //查看项目级别提交人邮箱
git config --global --list //查看全局配置的邮箱和别名
注:
1、如果要对配置信息进行修改,重复上述命令即可
2、配置只需要执行一次
本地仓库的创建
mkdir 文件夹名 //创建文件夹
cd 文件夹名 //进入文件夹
git init //在当前文件夹创建初始化仓库
在暂存区添加和撤销文件
git status //查看文件状态
git add 文件名列表 //添加文件到暂存区
git add --all //添加所有文件到暂存区
git add ./* //添加当当前目录下的所有文件到暂存区
git commit -am "提交描述" // add+commit
git rm --cached 文件名 //将暂存区中的文件删除
提交文件到本地仓库
git commit -m "提交信息" [文件名] //提交文件到本地仓库中,方括号中为可选内容
查看提交日志
git log //查看提交日志
git log --pretty=oneline //查看提交日志,单行显示
git log --oneline //查看提交日志,单行显示,简洁
git reflog //查看之前的提交日志
版本
git reset --hard HEAD^ //往前回退一个版本,有几个倒三角就回退几个版本
git reset --hard HEAD^^ //往前回退两个版本,有几个倒三角就回退几个版本
git reset --hard Head~数字 //数字是几回退几个版本
git reset --hard [局部哈希值]
注:
–soft :只改变本地库
–mixed:暂存区和本地库
–hard:改变工作区,暂存区和本地库
文件的删除
git rm 文件名 //删除工作区一级暂存区还有本地库中的这个文件
文件的比较
git diff 文件名 //与暂存区中的文件比较
git diff [本地库历史版本] 文件名 //将工作区与本地库比较
分支命令
git branch //查看分支
git branch 分支名称 //创建分支
git checkout -b 分支名称 //创建分支并切换到当前分支
git checkout 分支名称 //切换分支
git merge 来源分支 //将该分支合并到当前分支
git branch -d 分支名称 // 删除分支(分支被合并后才允许删除) (-D强制删除)
git branch -m 旧分支名称 新分支名称 //重命名分支 (-M强制重命名)
git branch -r //查看远程分支
git branch -a //查看所有分支
SSH 秘钥生成
ssh-keygen -t rsa -C "邮箱地址"
cd .ssh
cat id_rsa.pub
上传到远程仓库
git push 远程仓库地址 分支名称
git remote add 远程仓库地址别名 远程仓库地址 //生成别名
git push 远程仓库地址别名 分支名称
git push -u 远程仓库地址别名 分支名称 //(-u记住推送地址及分支,下次推送只需要输入push 即可)
git remote -v //查看远程仓库地址别名
git push 远程仓库别名 本地分支名:远程分支名(远程分支名任意取) //将本地分支推送到远程分支
git push 远程仓库别名 -d 远程分支名 //删除远程分支
clone
git clone 仓库地址 //克隆远程仓库到本地,并且生成的目录名相同
git clone 版本库的网址 本地目录名 //克隆远程仓库到本地 并创建目录名
fetch取回所有分支更新并创建分支
git fetch 远程地址别名 //将远程仓库拉取到本地仓库,不改变工作区,默认情况下取回所有分支的更新
git checkout -b 新分支名称 拉取到本地仓库的远程分支名 //将刚刚拉取到本地仓库的远成分支创建成新分支
fetch 取回所有分支更新并合并到当前分支
git fetch 远程地址别名 //将远程仓库拉取到本地仓库,不改变工作区,默认情况下取回所有分支的更新
git merge 拉取到本地仓库的远程分支名 //将刚刚拉取到本地仓库的远成分支创建成新分支
git merge --abort //--abort选项将会退出这次合并,并且恢复到当前分支在进行合并之前的状态
pull
git pull 远程地址别名 远程分支名:本地分支名 //fetch+merge
删除本地仓库
rm -rf .git