git常用命令

一.git原理和流程介绍

git仓库分为四个区

--Workspace: 工作区(即我们的目录)

--Index/Stage: 暂存区 (相当于本地仓库与目录的中间) 

--Repository: 本地仓库

--Remote: 远程仓库

git工作流程图

 二.常用命令介绍

查看配置状态命令

$ cat  ~/.gitconfig   查看用户配置

$ cat .git/config 查看当前项目的git 配置

$ cat .git/HEAD 查看当前HEAD指向

$ git log --graph 图形化显示当前日志

$ git status 查看工作区和暂存区状态

remote命令

git remote add [shortname] [url]  添加远程版本库

$ git remote rm name # 删除远程仓库关联

$git remote rename old_name new_name # 修改仓库名

$ git remote -v  显示所有远程仓库

$ git remote show [remote]  显示远程仓库的信息

$ git push --set-upstream <远程仓库别名> <分支名>   远程分支与本地分支关联

branch命令

$ git branch 查看本地分支

$ git brabch -a 查看所有分支包括远程分支

$ git branch -vv 查看本地分之对应的远程分支

$ git checkout "分支名" 切换分枝

$ git checkout -b "分支名" 创建本地分支

$ git branch -d (branchname) 删除分支

stash命令

$ git stash save "别名" 临时将工作区内容保存在堆栈中(该文件不受任何pull影响)

$ git stash apply "stash@{index}" 将堆栈中文件取出到工作区,不删除记录

$ git stash list  查看存储记录

diff命令

--后面接文件名只显示文件差异,不接显示全部

$ git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异

$ git diff HEAD 比较工作区与本地仓库差异

$ git diff--cache 比较缓存区与仓库差异

$ git diff branchname..branchname filename    查看两个分支文件对比

merge命令

$ git merge <分支名> --squash 将分支合并到主分支,并不会生成新的提交,内容放于工作区和暂存区,由人手动提交(head处于主分支下)

流程命令详细介绍

执行所有回退命令时请小心

--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:

$ git checkout .   放弃工作区全部修改退回到暂存区内容(也可以将点换成某个文件)

$ git checkout HEAD . 放弃工作区全部修改退回到本地仓库内容

$ git add .   将工作区所有文件提交到暂存区

$ git reset HEAD "file" 将暂存区的修改撤销掉,工作区内容不受影响

$ git commit -m "提交说明“ 将暂存区内容提交到本地仓库

$ git commit -am "提交说明"  add和commit的合写,将工作区内容直接提交到本地仓库

$ git reset --hard "HEAD^" 回退到上一个版本

$ git reset --hard "版本号" 退回指定版本号

$ git fetch <远程仓库别名> <分支名> 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中

$ git push <远程仓库别名>  <本地分支名>:<远程分支名> 将本地分支推送到远程

$ git push <远程仓库别名> --all. 将所有分支push

git pull <远程主机名>  <远程分支名>:<本地分支名> 将远程主机分支拉取过来,如果与本地仓库(工作区,缓存区更改不会)相同侧不更改,如果与本地仓库不同则与本地仓库合并,合并过程中有冲突就要解决来自工作区,本地仓库和远程仓库的冲突,并把修改到本地仓库与工作区

  --git pull 详解

    pull命令实际上是fetch 与merge的组合件

    

 

 

posted @ 2021-09-21 17:27  mik99  阅读(60)  评论(0编辑  收藏  举报