git的三层结构:
工作区:未被追踪的文件处在工作区
暂存区:已被追踪但未被提交的文件处在暂存区
版本库:已提交的文件处在版本库
工作区-> 暂存区->版本库
git文件的四种状态:
untracked:未被追踪
modified: 工作区的文件被修改了但被提交到暂存区(修改未暂存)
staged:工作区已修改的文件已被提交到暂存区但未被提交到版本库(暂存未提交)
commited: 已提交到版本库
首先右键选择文件夹 git bush here
命令行中输入 ls -a 查看文件夹下所有文件
git init 初始化 生成一个git文件夹
git status 查看文件夹 状态
git add 文件名 将文件名的文件 进行追踪
git add . 将工作区的文件的全部提交的暂存区 别忘了后面有个 点
git commit -m ‘’ : 提交暂存区的文件并添加描述
执行commit命令之前要进行一些配置
git config --global user.name xxxx
git config --global user.email xxxxxxxxxxxx
git config --list 查看配置信息
git log 查看提交的信息
git log --oneline 查看提交时填写的描述
git commit -am ‘’ 对处于modified(修改为暂存)的文件一次性提交到版本库中 跳过add 命令 跳过使用暂存
撤销命令
git commit -amend 撤销上一次提交,并将暂存区的文件重新提交 暂存区 1 -> <- 0版本库
git check out --文件名 撤销上一次修改
git check out --. 将全部文件撤销修改
git reset HEAD 文件名 将暂存区的文件撤销回工作区 工作区 <- 暂存区
HEAD 头指针指向最新一次提交到版本库的文件
删除命令
git rm 文件名 删除工作区文件 以及 暂存区
如果删除的文件之前做过修改 就要用 --cache 命令将修改的文件保存到工作区
git rm --cache 只删除 暂存区的文件
git rm --f 将修改的文件保存到工作区和暂存区,并一起删除
mv 旧文件名 新文件名 修改文件名字 修改过后要提交到暂存区
git mv 旧文件名 新文件名 修改过后不需要手动提交到暂存区,会自动提交
git分支
git branch 查看分支
git branch 分支名 创建分支 名字是分支名
git checkout 分支名 切换分支
git branch -d 分支名 删除分支
删除分支的前提是 不能处于被删除的分支
git branch -m 旧名 新名 改分支名
git checkout -b 分支名 创建分支并切换分支
git合并分支
git merge xxx 当前分支和xxx分支合并
git diff 比较工作区和暂存区的区别
git diff 版本号 版本号 比较两个版本号的区别
git diff 分支 分支 比较两个分支的区别
git diff --staged 比较暂存区和版本库的区别
git stash 在当前分支修改文件后要提交或暂存才可以切换分支 暂存文件
暂存后会自动回到修改前的状态
git stash list 查看暂存的文件
git stash apply stash@{0} 将暂存的文件拉取到工作区 stash@{0} 相当于暂存的文件编号 git stash list可查看
git stash pop stash@{0} 拉取并删除
git stash drop 删除暂存