git help
git help:显示常用命令及解释
git help -a:显示所有命令
git help -g:查看使用手册
git help 命令名:该命令的使用方式(f、b翻页,q退出)
git 命令名 --help:该命令的使用方式
git config
git config --global user.name 用户名:配置用户名
git config --global user.email 邮箱:配置邮箱
git config --list:查看配置
git config unset --global user.name:删除配置
git init
git init:初始化Git仓库
git init 目录:使用指定的目录初始化Git仓库
git commit
git status
git status:显示工作目录和暂存区状态
git add
git add .:添加目录下所有文件
git add 文件名:添加指定文件
git commit
git commit -m '提交信息':提交并指定提交信息
git commit -am '提交信息':不用 add 直接 commit
git log
git log:查看提交历史
git log -数字:设置显示的条数
git log --oneline:每条历史显示一行
git log --all:显示所有分支的提交
git log --graph:用图形显示提交历史
git log --author="作者名":显示指定的作者的提交历史
git log --grep='关键字':根据关键字搜索提交历史
git log --before='日期/1 day/2 weeks':根据指定的日期搜索提交历史
git diff
git diff 文件名:查看工作目录和暂存区文件修改前后的区别
git diff --staged 文件名:查看暂存区和本地仓库文件的区别
git diff 分支1..分支2 (文件名):查看分支1和分支2所有文件(指定名的文件)的区别,a 代表分支1,b 代表分支2
git mv
git rm
git rm 文件名:删除文件
git mv
git mv 旧文件名 新文件名:重命名文件
git mv 文件名 路径:移动文件到指定路径
git mv 文件夹 路径:移动文件夹到指定路径
git checkout
git checkout 分支名:切换分支
git checkout HEAD
git checkout HEAD -- 文件名:恢复修改后的文件(HEAD表示最近的一次提交,-- 表示当前分支)
git checkout HEAD^ -- 文件名:恢复提交后的文件(一个^表示上一次提交)
git revert
git revert id号:恢复到指定的提交,会生成一条 revert commit 记录
git reset
git reset (mixed) id号:使HEAD指向指定的提交,清空暂存区但保存工作目录
git reset --soft id号:使HEAD指向指定的提交,保存暂存区和工作目录
git reset --hard id号:使HEAD指向指定的提交,暂存区和工作目录都清空
使用 reset 后的提交会覆盖
git branch
git branch:查看所有的分支
git branch 分支名:创建新的分支
git branch -a:查看所有分支
git branch -r:查看远程分支
git branch -m 分支名 新分支名:分支重命名
git branch -d 分支名:删除分支
git merge
git merger 分支名:把指定名的分支合并到当前分支
git stash
git stash save '描述信息':暂时保存工作进度
git stash list:查看保存的工作进度
git stash show -p 工作进度id号:查看指定工作进度和目前的区别
git stash apply 工作进度id号:恢复保存的工作进度
git stash drop 工作进度id号:删除指定的工作进度
git stash pop 工作进度id号:恢复并删除指定的工作进度
git alias
git config --global alias.别名 命令名:在全局下给命令起别名(在 .gitconfig 文件)
git remote
git remote -v:查看远程库别名及对应地址
git remote add 远程库别名 远程库地址:给本地库添加远程库并设置别名
git remote rm 远程库别名:删除远程库
git push
git push (-u) 远程库别名 本地分支:将指定的本地分支推送到远程库,-u 表示跟踪远程库的变化
git clone
git clone 远程库地址 (目标目录):克隆远程库,不指定文件名则为项目名
git fetch
git fetch:从远程库提取更新
git pull
git pull 远程主机名 远程分支名:本地分支名:从远程获取代码并合并到本地