代码管理相关知识点
Git
- Git的概念
Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目。
- 三个区域的概念
- 仓库的概念`
如果我们使用Git Bash进入一个目录(比如:D:/test/),在这个目录下执行git init命令,就会在这个目录建立一个Repository(仓库),这个仓库就是我们被Git管理的仓库了,如果你在这个目录下做什么操作,都是可以通过Git进行管理的。
比如你新建了一个文件TestFile.txt,那么通过git add TestFile.txt命令就可以把这个文件加入Git的暂存区,再通过git commit -m"增加一个文件TestFile.txt"命令就能够彻底将这个文件纳入Git管理了。
`
- 节点的概念
git使用commit之后就会生成一个节点,之前的节点成为这个节点的父节点
- 分支的概念
在版本控制过程中,同时推进多个任务,我们就可以创建每个任务单独的分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开,开发自己分支的时候,不会影响主线分支的运行,对初学者来说,分支可以简单的理解为副本,一个分支就是一个单独的副本(分支底层其实也是指针的引用)
SourceTree
- SourceTree的概念
SourceTree是一款比较好用的git客户端。
SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mn版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。
SourceTree拥有一个精美简洁的界面,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。
- 仓库相关操作
· 创建本地仓库
· 打开本地仓库
· 克隆远程仓库
连接Gitee or GitHub,获取代码:
注意:这里介绍的是使用SSH协议获取关联远程仓库的代码,大家也可以直接使用过HTTPS协议的方式直接输入账号密码获取关联代码!
全面概述Gitee和GitHub生成/添加SSH公钥:
https://www.cnblogs.com/Can-daydayup/p/13063280.html
· 获取
获取是将远程仓库的代码更新到本地仓库
· 关联远程仓库
-
节点相关操作
· 提交
· 重置
重置(reset)主要用于将改动提交(commit)到本地而未推送(push)到远程仓库时,reset是用来重置本地仓库的commit命令
软合并:保存改动文件,将改动文件回退到暂存区,也就是git add之后的状态
混合合并:保存改动文件,将改动文件回退到未暂存状态,也就是git add之前的状态
强行合并:丢弃改动文件,强制回退到指定版本
回滚提交
回滚(revert)主要用于已经push到远程仓库时,revert后会新增加一个commit,commit的内容是之前提交内容的反操作,就像你修改内容提交一样,远程仓库认为这是一个新的提交,从而应用到远程分支上
回滚后执行push即可将远程仓库回滚指定的提交
- 分支相关操作
当要新增一个功能,又要保证原始功能的正常的使用,这个时候为了不影响原功能的使用,就可以建立一个分支,在分支上进行新增功能的开发,等到新增的功能测试通过后再把分支合并到主干上。
· 新建分支
点击创建分支,可以看到多了一个fact分支,但是这个分支只存在于本地仓库。
· 合并分支
· 删除分支
· 切换分支
· 制造冲突
当我们同时在两个不同分支修改同一文件提交后,将两个分支合并时将发生冲突
· 解决冲突
选中发生冲突的文件,点击操作->解决冲突选择解决方式即可
· 拉取
这些是日常工作最常用的功能,之前一直用git命令,在sourcetree上直接点按钮就行。
pull拉取远程代码到本地(将同事提交的代码先拉到本地,再开发,防止冲突),直接点击操作区的拉取按钮即可将代码拉取,如果有需要拉取的内容会显示数字。
· 推送
Push将提交的代码推送到远程仓库
- 其他
· 书写忽略文件
方法一:从文件的菜单按钮中忽略文件
方法二:编辑.gitignore文件
进入 设置-高级,会看到“仓库指定忽略列表”,并点击编辑
点击“编辑”后进入.gitignore编辑页面
忽略指定文件:直接写文件名
忽略文件夹:直接写文件夹路径,例:target或者target/ -> 忽略target下的所有文件
忽略某类型的文件:使用通配符*,例:*.class -> 忽略所有.class文件
· 停止跟踪
1.未跟踪文件,直接在.gitignore文件打上文件名字,如果要忽略整个文件夹,要在文字后面加上一个/ .如:gradle/ .
2.已跟踪文件,先删除那些文件,再提交到git上,即删除远程的文件,让其变成未跟踪文件,接着的操作和第一点的操作是一样的了.
· 创建补丁
本地仓库有master和develop分支,两个分支中都有文件1.txt,将develop分支中1.txt中第一行添加1111并提交
菜单栏操作->创建补丁,选择要创建的节点补丁确认即可,也可直接选中节点右击在快捷菜单中点击创建补丁
在版本库中选中该提交节点创建补丁
· 应用补丁
菜单栏操作->应用补丁,将某次提交节点修改记录打包成补丁,应用该补丁可以还原该次提交
切换回master分支,主菜单操作->应用补丁将我们刚才生成的补丁添加
此时我们可以看到master分支的1.txt中应用了补丁的提交记录
此时我们将master分支重置到未应用补丁时修改1.txt第一行添加2222并提交
此时我们修改了1.txt,补丁中的提交记录也是修改’1.txt’,我们再次应用该补丁将会发生冲突
· 贮藏
当在当前分支做了一些修改,突然需要切换到另一个分支去做其他一些紧急的事情,但是既不想提交这些修改,也不想将这些修改带到别的分支,此时可以选择贮藏功能
贮藏后在左下角可以看到贮藏的副本,可以恢复到你当前的工作副本
· 丢弃
丢弃就是放弃你之前这个文件的所有修改,相当是一键还原到初始状态
· 移除
移除是直接删除本地文件的
· 创建标签
创建标签后在左下角可以看到创建好的标签,点击后可以快速跳转到标注的节点,便于我们日常开发记录
· 删除标签
- 综合
· 一系列操作后最终状态