您的当前位置:首页正文

Git 终端命令

来源:图艺博知识网

Git 是什么

  • 分布式的版本控制系统
  • 客户端不并不是简单的讲文件的最新快照检出,而是对代码库进行完整的镜像.

一些概念

  1. 工作目录下的每一个文件都处于以下两种状态之一:已跟踪(tracked)或者未跟踪(untracked)

2.已跟踪文件的三种状态:

  • committed : 已提交
  • modified : 已修改
  • staged : 已暂存

3.提交只会将缓存区的内容提交到仓库

常用的命令

git config

git config --global uesr.name "ccc"

global 选项的作用就是设置全局属性,可以不带,这样每个项目都可以指定一个用户名

git config --list
检查个人设置

git status

git status # 查看已跟踪文件的状态

git status -s # 简洁状态信息

M M 前者代表修改已缓存,后者代表有修改但没有缓存

git diff

git diff # 查看工作区与缓存区的差异

git diff --staged/--cached # 查看本次提交与上次提交的差异

git commit

git commmit -m"" # 提交

git commit -a -m""绕过 git add 直接将工作区的修改提交

git rm

git rm # 移除文件 之后要 git commit

如果一个 文件在缓存区,但是我们不想 让git 跟踪 可以用

git rm --cached 文件名

git mv

git mv #移动 文件或者重命名

git mv README.md README

git log

git log 查看提交历史

git log -p # 显示每次提交引入的差异

git log -p -2 # -2显示最近两次的提交

git log --stat # 查看每次提交的简要统计信息

git log --pretty=oneline # --pretty 更改日志输出的morning形式 显示一行

常用的prety: oneline ,short, full,fuller,format

git log --pretty=format:"%h - %an,%ar - %s" # 输出自己的格式

git log --pretty=format:"" --graph # 用简单的图显示git分支与合并的历史

git log --since=2.weeks # 输出最近两个星期

git log --author

git commit --amend

提交之后如果忘记了之前修改的文件 可执行下面的命令,它只会产生一个提交历史

git commit --amend # 撤销操作

git reset HEAD <filename>

撤销已经缓存的文件

git checkout -- <file>

放弃修改

分支

git branch <branch name>

创建分支

git checkout <branch name>

切换分支

git merge <要合并的分支>

合并分支

git branch -d <branch name>

删除分支

变基

git checkout <分支名>

git rebase <保留的分支名>

git checkout <保留的分支名>

git merge <分支名>

git branch -d <分支名>

Top