git基础操作
git的原理
- 涉及到的指令
- 将文件从工作目录导入暂存区
git add.
git add 文件名
注:.代表该目录下所有文件
2. 将文件从暂存区导入本地仓库
git commit -m"修改内容"
3.将文件从本地仓库上传到远程仓库
git push -u"修改内容"
- 将文件从暂存区移除
git rm --cached 文件名
git文件状态、
- 建立仓库及相关操作
- 建立仓库
git innt 仓库名
- 进入仓库
cd 仓库名
- 创建文件
touch 文件名
- 编辑文件
vi 文件名
- 显示文件内容
git cat-file
- 查看文件暂存内容
git stash list
- 将文件暂存的内容应用
git stash
- 查看及比较各区域状态
- 查看工作目录状态
git status
- 比较工作目录与暂存区差别
git diff
- 比较工作目录与本地仓库的区别
git diff HEAD
- 比较暂存区与本地仓库的区别
git diff --cached
git分支
- 关于分支
分支是一种文本文件,文本文件的内容即是所对应commit的哈希值,文本文件的名字即是分支的名字。
分支文件一般存储在.git/refs/heads中
- 新建分支
git branch 分支名
- 查看当前分支
git branch
- 切换分支
git checkout 分支名
- 分支合并
运用git checkout
切换至准备合并的分支后
输入git merge 该分支名
- 查看提交历史
git log
git log --oneline
注:第二种只能查看哈希值
- 例图
注:在实际使用时可使用soursetree使分支更直观
关于文件保存和恢复进度
- 保存当前工作进度,会把暂存区和工作区的改动保存起来
git stach
- 显示保存进度的列表
git stach list
- 恢复最新的进度到工作区
git stash pop
- 除了不删除恢复的进度之外,其余和git stash pop 命令一样
git stash apply
- 删除一个存储的进度
git stash drop
- 删除所有存储的进度
git stash clear
关于reset
- 回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件
git reset (–mixed) HEAD~1
- 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件
git reset –soft HEAD~1
- 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
git reset –hard HEAD~1
关于cherry-pick
将一个新提交引入分支中,在工作中可以大大提高github的效率
关于revert
- 撤销前一次 commit
git revert HEAD
- 撤销前第二次 commit
git revert HEAD^
- 撤销指定id
git revert commit id