一.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 查看两个分支文件对比
流程命令详细介绍
执行所有回退命令时请小心
$ git checkout . 放弃工作区全部修改退回到暂存区内容(也可以将点换成某个文件)
$ git add . 将工作区所有文件提交到暂存区
$ git reset HEAD "file" 将暂存区的修改撤销掉
$ git commit -m "提交说明“ 将暂存区内容提交到本地仓库
$ git commit -am "提交说明" add和commit的合写,将工作区内容直接提交到本地仓库
$ git reset --hard "HEAD^" 回退到上一个版本
$ git reset --hard "版本号" 退回指定版本号
$ git push <远程主机名> <本地分支名>:<远程分支名> 将本地分支推送到远程
$ git pull <远程主机名> <远程分支名>:<本地分支名> 将远程主机分支拉取过来,与本地的分支合并。工作区内容也会合并