Git操作小记

之前学过git,由于公司用的主要是SVN,有段时间没摸过git,记忆模糊了许多,因此现在记录下来,以备后面查询。

Command Description
git init 在当前目录下创建版本库,会创建.git目录
git add <file_1... file_n> 添加文件到暂存区
git add * 添加当前目录所有变更的文件到暂存区
git commit -m <message> 暂存区的所有内容提交到当前版本
git status 查看当前仓库状态/查看merge冲突的文件
git diff <file> 查看文件的变更
git log 查看git提交到历史记录
git log --pretty=oneline 好看的形式打印提交记录
git reflog 记录每一次操作的命令,
可用于寻找git reset命令丢失的commit_id
git rm 删除文件
git remote -v 查看远程仓库详情
git tag 查看当前tag列表
git tag <tagname > -m <message> 为当前HEAD打上tag, message表示说明文字,可忽略
git tag <tagname > <commit_id> -m <message> 为该commit_id打上tag,message表示说明文字,可忽略
git show <tagname> 查看该标签详情
git tag -d <tagname> 删除某标签
git push origin <tagname> 推送某标签
git push origin --tags 推送本地所有标签
git blame <filename> 查看文件的每一行是由谁写的
git diff

查看差异

Command Description
git diff 比较工作区暂存区
(如果还没提交,则是与HEAD)的差异
git diff --cache 比较暂存区HEAD的差异
git diff HEAD 比较工作区HEAD的差异
git diff v1 v2 比较版本号v1与v2的差异
git diff v1 v2 <file/dir> 比较版本号v1和v2 指定文件/目录 的差异
git reset

回退版本

Command Description
git reset --hard HEAD 丢弃所有更改,包括暂存区,
回退工作区到最新提交版本(源码的修改不保留)
git reset --hard HEAD^ 回退到上一个提交版本(之后的提交将不存在)
git reset --hard HEAD^^ 回退到上上一个提交版本(之后的提交将不存在)
git reset --hard HEAD~0 回退到最新提交版本
git reset --hard HEAD~100 倒数第101次提交版本
git reset --hard commit_id 回退到指定id版本
git reset HEAD <file> 回退暂存区文件到工作区
(取消add,源码的修改保留)
git checkout

撤销修改

Command Description
git checkout -- file (file already added) 回退工作区文件到暂存区的状态
git checkout -- file (file not add) 回退工作区文件到版本库最新状态
分支
Command Description
git checkout -b <branch_name> 创建并切换到分支<brach_name>
git branch 查看当前分支
git checkout <brach_name> 切换分支
git branch -d <branch_name> 删除分支 <branch_name>
git merge <branch_Name> 合并分支<branch_name>到当前分支
git log --graph 查看分支合并图
git log --graph --pretty=oneline 同上
git merge --no-ff -m <message> <branch_name> 以非Fast forward的方式合并分支
git merge –squash <branch_name> 分支的历史记录不提交,用于合并进主干只需显示一次commit的场景
git branch -D <branch_name> 强行删除<branch_name>
git checkout -b <branch_name> origin/<branch_name> 同步远程分支到本地
stash
Command Description
git stash 保留现场
git stash list 查看现场列表
git stash apply 恢复现场
git stash drop 删除现场
git stash pop 恢复并删除现场
git stash apply stash@{n} 恢复指定stash
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容