你需要的git命令大全来了

944 阅读5分钟

项目前的git配置

检查git版本
git --version
查看git相关命令
git --help
查看当前的git配置信息
git config --list
查看git用户名
git config user.name

-查询⽬前git所使⽤的使⽤者名称
git config --global user.name 名称

注: --global 表示全局, 没有--global表示只设置在当前项目中的配置
查看git邮箱
git config user.email
-查询git所使⽤的email
git config --global user.email
设置 (配置)全局邮箱
git config --global user.email "eamil@qq.com"
全局配置用户名(设置git使⽤者名称)
git config --global user.name "username"

git对项目中的代码进行管理

初始化git储存
git init
需要提交的所有修改放到暂存区(Stage)
git add *  //将工作区所有修改添加到暂存区
git add .  //将工作区所有修改添加到暂存区
git add <file-name> //将指定文件添加到暂存区
git add *.js  //提交所有.js格式文件
git add -f <file-name> // 强制添加 指定文件添加到暂存区
注:<file-name>指的是文件的名称
恢复(后悔药)

将暂存区的文件恢复到工作区

git reset <file-name>           //从暂存区恢复指定到工作区
git reset -- .                  //从暂存区恢复所有文件到工作区
git reset --hard                // 把暂存区的修改退回到工作区
查看工作区、暂存区的状态
git status
移除暂存区的修改
git rm --cached <file-name>  //将本地暂存区的内容移除暂存区
将缓存区的文件,提交到本地仓库(版本库 )
git commit <file-name> ... "相关的记录信息" //将缓存区的指定文件提交到本地仓库
git commit -m "相关的记录信息"        //将缓存区的所有文件提交到本地仓库
git commit -am '相关的记录信息'       //跳过暂存区域直接提交更新并且添加备注的记录信息
git commit --amend '相关的记录信息'   //使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来修改上一次commit的提交记录信息
                                    
撤销commit提交
git revert HEAD   //撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)
git reset --soft HEAD^
注意:Windows系统需要在^符号后面两边加上引号,如:
git reset --soft HEAD"^"

git revert HEAD^   //撤销上上次的提交

查看日志

查看历史提交(commit)记录
git log    //查看历史commit记录
注:空格向下翻页,b向上翻页,q退出
git log --oneline  //以简洁的一行显示,包含简洁哈希索引值
git log --pretty=oneline //查看日志且并且显示版本
git log --stat     //显示每个commit中哪些文件被修改,分别添加或删除了多少行
查看分支合并图
git log --graph
查看版本线图
git log --oneline --graph

git版本控制(时光机)

回到指定哈希值对应的版本
git reset --hard <Hash>
注:<Hash> 是版本的哈希值
git reset --hard HEAD     //强制工作区、暂存区、本地库为当前HEAD指针所在的版本
版本回退
git reset --hard HEAD~1          //后退一个版本
注:~后面的数字表示回退多少个版本

分支

查看分支
git branch              //查看所有本地分支
git branch -r          //查看所有远程分支
git branch -a         //查看所有远程分支和本地分支
git branch --merged  //查看已经合并的分支
创建分支(依然停留在当前的分支)
git branch <branch-name>
注: <branch-name> 是分支的名称
切换分支
git checKout <branch-name>    //切换到指定分支,并更新工作区
git checkout -         //切换到上一个分支
创建并切换分支(创建一个新的分支,并切换到这个新建的分支上)
git checkout -b <branch-name>
合并分支(合并某一个分支到当前分支)
git merge <branch-name>
删除分支
git branch -d <branch-name>    //只能删除已经被当前分支合并的分支
git branch -D <>branch-name>   //强制删除分支
删除远程分支
git push origin --delete  <remote-branch-name>
注:<remote-branch-name> 远程分支名

远程仓库(团队协作)

克隆远程仓库(从远程仓库拉取代码)
git clone <url>
注:<url>   远程仓库的地址
本地库与远程库进行关联
git remote add origin <url>
注:<url>   远程仓库的地址
查看远程仓库地址别名
git remote -v
新建远程仓库地址别名
git remote add <alias> <url>
注:<alias> 远程仓库的别名
   <url>   远程仓库的地址
删除本地仓库中的远程仓库别名
git remote rm <alias>
注:<alias> 远程仓库的别名
重命名远程仓库地址别名
 git remote rename <old-alias> <new-alias>
 注:<old-alias>  旧的远程仓库
    <new-alias>  新的远程仓库
把远程库的修改拉取到本地
git fetch <alias/url> <remote-branch-name>     //抓取远程仓库的指定分支到本地,但没有合并
git merge <alias-branch-name>                //将抓取下来的远程的分支,跟当前所在分支进行合并
git pull <alias/url> <remote-branch-name>    //拉取到本地,并且与当前所在的分支进行合并

注:<alias/url> 远程仓库的别名 或者是 远程仓库地址
   <remote-branch-name> 远程分支名
将本地的分支推送到远程仓库

提示!:在推送前要先拉取哦 git pull

git push <alias/url> <branch-name>     //将本地的每个分支推送到远程仓库
git push <alias/url> --force             //强行推送 当前分支到远程仓库,即使有冲突
git push <alias/url> --all              //推送所有本地分支到远程仓库

注:<alias/url> 远程仓库的别名 或者是 远程仓库地址
   <branch-name>  本地分支名