git使用记录
安装git和Tortoise Git
官网下载git安装包,默认安装即可。安装完成之后就可以使用git bash命令行使用git进行版本控制了,在windows下可以使用另外的GUI工具简化命令行操作
下载TortoiseGit安装包,同样是默认安装,完成之后在某一文件夹下右键单击会出现TortoiseGit的选项卡,后续的操作都基于TortoiseGit选项卡进行。
本地代码版本控制
使用git可以对本地代码仓库进行版本控制,在代码文件右键选择Git Create repository here...就完成了本地仓库的建立。建立之后可以把相关源文件添加到版本控制列表里面右键TortoisrGit->add,可以选中多个文件add,也可以把不关心的文件Add to ignore list忽略。
代码修改之后可以右键commit,在message中添加提交说明。
右键也可以show log,在log上选中继续右键执行版本回退等操作。
另外一个比较重要的功能就是分支控制,在本地仓库右键create branch,这样就可以实现独立两条分支的开发了。右键->revision graph就显示了分支图,在分支图上右键能够实现分支之间的跳转,注意在切换分支之前要把当前分支先commit。
远程仓库同步
在本地建立仓库之后,可以把仓库推送到远程,也可以从远程把仓库拉取下来。知名的远程代码仓库有github,gitee等等,一般企业会自己搭建一个服务器使用开源框架建立自己的远程仓库,现在我司使用的远程仓库有德国的bitbucket,国内的gitlab等。
在远程仓库界面,选择克隆,可以复制克隆地址,有SSH和http两种模式,SSH需要额外配置,在本地生成公钥和密钥,再把公钥上传到账户即可完成SSH绑定,一次配置之后,后续的推送和拉取比较简单,如果不配置SSH使用http的方式需要复制克隆连接,在推送和拉取时粘贴连接。
正常情况下本地仓库与远程仓库绑定的方式有:1、在本地空文件夹直接clone 2、在远程新建空项目,本地文件夹先clone后在将本地文件拷贝到clone文件夹,之后commit、push。本地的修改同步到远程用push命令,从远程同步用pull指令,在TortoiseGit中均有对应的选项卡,注意推送的时候要选对属于自己的分支。
团队合作开发
在一个团队中,代码由多人协作完成,每人都有一个开发分支,完成各自的任务之后需要分支合并到主分支,这是git最具特色的地方,一般分支合并有两种方式。
1、直接merge
假设现在有dev_main、dev_sub1两个分支,现在要将dev_sub1合并到dev_main上面来,首先要将当前分支切换到dev_main,然后执行merge,branch选择dev_sub1,此时会提示有冲突,需要解决。在冲突文件上右键edit conflicts,出现编辑界面。在冲突行上选择use left/right text block,直到解决完所有冲突,保存后退出保存,commit。
提交完成后查看log,看到主干上有一个小分支突出后又回到主分支,merge完成。
2.先rebase 后merge
首先将分支切换到dev_sub1,然后执行rebase命令,新基选择dev_main,同样的可能会有冲突,需要先解决。解决完冲突之后,再执行merge操作(要先切换到dev_main),此时同样完成了分支合并的操作但是log中的开发树状图就变成了一条直线。
使用第二种合并方式会使得开发流程树状图更简介明了,同时rebase还可在同一个分支中合并多个提交,简化自己的开发log在此不赘述。