git学习笔记
Posted TOPthemaster
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git学习笔记相关的知识,希望对你有一定的参考价值。
1.前言
git是一个当前针对开发人员非常实用的一个版本控制工具,不管是公司还是个人开发,都必学的一门课,本文主要用来记录一些实用的git指令和相关知识。部分图示以及内容来源来自于B站老男孩git教学,想学习的朋友可以去体验一下,个人感觉教的非常牛逼,对小白友好得不能再友好了。
2.git常用指令
git的基础工作模式:分为了三个部分,原内容(红色)、准备控制内容(绿色)、生成版本。
关于git的简单指令:
git init,初始化,表示即将对当前文件夹进行版本控制。
git status,查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。
git add 文件名,将指定文件添加到版本库的暂存状态。
git commit -m '提交信息',将暂存区的文件提交到版本库的分支。
git log,查看提交记录,即:历史版本记录
3. git版本回滚
git log 查看当前版本记录
git reset --hard 版本号 回滚到之前的某一个版本
若需要再次回到之后的版本,该操作无法找到之后的版本号,需要使用:
git reflog ,查看回滚记录
git reset --hard 版本号 回到某一版本
4.分支开发功能
该功能主要用于新功能分配开发以及线上代码的修复使用
git branch 查看分支
git branch name 新建一个分支
git checkout name 切换到某一分支
当某一分支开发完一个功能或者修复bug之后,主线master需要在自己的权限中合并该分支才能得到分支所开发的新功能代码。
git checkout master 切换回主线分支
git merge name 将某一分支的代码合并到主线分支
若是修复某个master版本的bug,需要在该版本新建一个bug修复分支,修复完成后,提交上线到master主线运行,若没有问题存在,那么该bug分支理应删除,节省资源。
git branch -d name 删除某一分支
当某一版本需要开发新功能或者修复bug时,需要多个分支进行分别开发,然后合并到master主线上,此时会存在问题,多个人员开发的分支代码产生冲突,这时候需要master分支进行手动修改,再提交新版本。
如下图所示,首先在bug分支中对原有版本进行了修改,然后在master主线对bug分支内容进行了合并,此时再次对top新功能开发分支进行合并时会产生冲突信息,需要手动修改。
可以看到,top分支新添加的东西会在文件中标记出来,手动修改后再次提交即可。
到这里便实现了分支开发,bug修复、新功能开发以及分支合并操作。
分支工作流程:
5.远程仓库功能
当项目开发完毕或者告一段落时,需要将代码提交到仓库中以便在各个环境下都可以对其进行拉取开发,这里我使用的时gitee码云作为我的代码仓库,并新建了一个仓库块进行存储。
git remote add 别名 仓库地址 ,该命令用途为简化仓库别名,方便使用
git push -u 别名 分支(master),将某一分支提交到代码仓库
git clone 别名 ,在其他环境下加载代码仓库,包含了上传的各个分支
git pull 别名 分支 ,更新某一分支代码
在这里使用pull拉取分支时,可能会与本地代码存在冲突问题,这时候需要自己手动修改再更新分支,或者使用另一种方式:
git fetch 别名 分支
git rebase 别名/分支
这里在rebase时也可能存在修改冲突,手动更改以后执行以下代码即可:
git rebase --continue
6.log记录简洁格式
想要合并某些无用的提交记录或者以更为简洁的方式查看,可以如下操作:
git log --graph --pretty=format:"版本号:%h,版本信息:%s" 查看提交信息,
保留格式以及分支
合并分支:
git checkout dev
git rebase master
git checkout master
git merge dev
合并分支也就是把分支并到树干中去,效果如下:
top分支和master分别在两个分支上编写,使用rebase合并后,全变为一个分支。
暂时更新到这里,后面会接着本文修改往后写。
以上是关于git学习笔记的主要内容,如果未能解决你的问题,请参考以下文章