Git常用命令

161 阅读3分钟

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 远程主机名 远程分支名:本地分支名:从远程获取代码并合并到本地