Git 学习笔记
Git
workspace 工作区 :电脑上看到的目录
index/stage 暂存区
repository 仓库区 (本地仓库):.git 储存 stage
remote 远程仓库
初次下载设置用户名和邮箱作为标识
git config --global user.name
git config --global user.email
1.查看提交历史
git log
--reverse 逆向显示(时间序)
--author 作者
--before={...}
--after={...}
graph 用于多级
--pretty=oneline 减少冗余信息
2.建立 git 目录两种方式
直接 git clone 远端仓库
建立目录 git init
添加仓库地址 git remote origin+http/SSH
3.普适流程
git add . 添加文件
git commit -m"message"
git status
git push origin main
4.查看差异
git diff -cached 暂存区与版本库差异
git diff 工作区与暂存区差异
git diff HEAD 工作区与本地版本库差异
5.撤销操作
已经 commit 但未 push
git reset --hard head~(不建议使用)
git reset --soft head~ 打回暂存区
git reset --mixed head~ 打回工作区
已经 commit 并提交到远端
git revert HEAD
git push origin
撤销工作区修改
git cheakout -- (...)
从暂存区撤销文件
git rm --cached (...)
已经 commit 想回到某个提交并且想保留之后的所有改动
git reset --keep(commit_id)
修改最后一次提交的 commit 信息
git commit --amend -m" "
6.分支操作
git branch (name)创建分支
git cheakout (name) 切换分支
git cheakout -b(name) 创建并切换分支
git branch _d (name) 删除分支
git merge (name) 分支合并
git branch 查看分支
7.rebase 操作
将某一分支的修改都移到另一个分支上(改变基底)
git cheakout dev
git rebase master
整理过多冗余的 commit(合并)
p:使用
r:使用但编辑 commit message
e:使用但是继续编辑整个 commit
需要重新 add commit
s:压缩到上一个 commit 里面
f:同上
d:干掉 commit
git rebase --edit -todo 恢复编辑
git rebase --continue 保存后输入
强制覆盖
git push force (谨慎使用)
8.剪枝
git cherry-pick e..g
9.暂时保存起来
git stash
git status
git stash pop
git stash list
git stash apply (...) 弹出
10.版本回退/回到最新
回退
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上个版本
git reset --hard HEAD~100 回退到前 100 个版本
回到最新
git reset --hard +版本号
了解版本号:git reflog
版权声明: 本文为 InfoQ 作者【lxmoe】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6b146bb1289390f49074250e】。文章转载请联系作者。
评论