git高层命令(CRUD)
git init 初始化仓库
git status 查看文件的状态
git diff 查看哪些修改还没有暂存
git diff --staged 查看哪些修改以及被暂存了 还没提交
git log --oneline 查看提交的历史记录
git add ./ 将修改添加到暂存区
git rm 文件名 删除工作目录中对应的文件 再将修改添加到暂存区
git mv 原文件名 新文件名 将工作目录中的文件进行重命名 再将修改添加到暂存区
git commit
git commit -a
git commit -a -m 注释
将暂存区提交到版本库
git高层命令(分支)
git branch 显示分支列表
git branch 分支名 创建分支
git checkout 分支名 切换分支
git branch -D 分支名 强制删除分支
git分支命令
创建分支 : git branch branchname
切换分支 : git checkout branchname
创建&切换分支 : git checkout -b branchname
版本穿梭(时光机) : git branch branchname commitHash
普通删除分支 : git branch -d branchname
强制删除分支 : git branch -D branchname
合并分支 : git merge branchname
快进合并 --> 不会产生冲突
典型合并 --> 有机会产生冲突
解决冲突 --> 打开冲突的文件 进行修改 add commit
查看分支列表 : git branch
查看合并到当前分支的分支列表: git branch --merged
一旦出现在这个列表中 就应该删除
查看没有合并到当前分支的分支列表: git branch --no-merged
一旦出现在这个列表中 就应该观察一下是否需要合并
切换分支
最佳实践: 每次切换分支前 当前分支一定得是干净的(已提交状态)
坑:
在切换分支时 如果当前分支上有未暂存的修改(第一次) 或者 有未提交的暂存(第一次)
分支可以切换成功 但是这种操作可能会污染其他分支
动三个地方
HEAD
暂存区
工作目录
后悔药
工作区
如何撤回自己在工作目录中的修改 : git checkout --filename
暂存区
如何何撤回自己的暂存 : git reset HEAD filename
版本库
如何撤回自己的提交 : git commit --amend
1.注释写错了,重新给用户一次机会改注释
reset
git log :
git reflog : 主要是HEAD有变化 那么git reflog机会记录下来
三部曲
第一部: git rest --soft HEAD~ (--amend)
只动HEAD (带着分支一起移动)
第二部: git reset [--mixed] HEAD~
动HEAD (带着分支一起移动)
动了暂存区
第三部: git reset --hard HEAD~
动HEAD (带着分支一起移动)
动了暂存区
动了工作目录