作者:华清远见
【1】建立一个本地仓库(mkdir hello)
此时hello为一个文件夹,因此首先使用git init,对仓库进行初始化
可看到.git隐藏文件,表示初始化成功
【2】将源码放入本地仓库(源码将围绕git工具所视的文件状态展开)
加入到本地仓库的源码属于未跟踪状态
【3】执行跟踪操作git add,源码此时处于暂存状态
使用git status可查看当前源码的状态为一个新文件,并提示提交commit
使用指令git commit
【4】使用git commit,提交本次记录(记录为添加新文件),将生成一个描述修改的log
进入到log
添加修改信息,保存退出,此时文件状态由暂存态变为未修改状态
第一行为修改标题,空一行,第三行为修改主要描述
【5】git log 查看修改记录
生成一个哈希值(commit值),记录本次修改,并记录修改作者
已提交作者信息,如果未提交使用commit时会提醒提交,指令
Git config --global user.name “张三” 用户名
Git config --global user.email zhangsan@xxxx.com.cn邮箱
Git congig --global color.ui always 配置高亮
【6】文件状态变为未修改,使用git status查看状态
【7】进入源码,进行修改源码(删除一行),保存退出,文件有未修改,变为修改状态
再次执行git add对源码进行关注,文件的状态再次变为暂存态
并执行git commit提交记录
此时文件状态再次转换为未修改状态
【8】git log 查看生成记录
最新记录在上面
【9】再次执行按照【7】【8】
最终提交生成log
【10】此时可对比log
Git diff + 上一次修改的commit值 + 下一次修改的commit值
可查看修改内容---为修改前文件,+++为修改后文件,可看到本次修改为将printf换成了
Puts
【11】生成patch,可认为是修改的一次记录
-p3 取决于log记录的个数
可vim 进入patch查看修改内容
【12】有关于撤销提交
撤销commit提交 git reset --hard + 上一次修改的commit值
即可撤销本次修改的记录,--hard 为回溯到commit值时的状态
(本操作需要慎重,如果没有生成patch,此操作将修改彻底删除,无法返回)
此时最新生成的log记录被删除,文件的最后一次修改失效
可通过执行 git am + 最后一次修改的生成的patch,将最后一次的修改还原