学习宗旨:快速应用,不易忘记
很遗憾,申请Git的专栏未审批,那我就不再写专栏了,把最近的学习心得写一下,我也是在学习中进行,有任何问题直接留言,回复交流,我还采用思路+实践模式快速过。
目录
1、Git 是什么
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。MS平台流行的是VSS,SVN用的人也比较多。Git是开发Linux的Linus大神为了Linux的版本控制的时候花一个月时间开发的,后来上线了GitHub,追求开源精神,所以全是免费的,当然GitHub免费的仅限于公开项目,收费的可用于私有项目。
特别提醒:前段发生酒店泄露的开房记录的事件据说就源于软件开发人员把项目Push到Github,因为Github项目是开放的,而开发人员没有修改直接把“数据库、用户名及密码”开源了,后果你懂的。所以使用GitHub一定注意自己项目的安全性。
2、远程仓库
最出名的远程仓库莫属于:GitHub,但是还是上面红色内容,特别注意。除了国际流行的GitHub,再推荐一个国内好用的:Gitee
1)GitHub:
优点:免费,用的人应该是最多的。
缺点:不愿付费的话你就公开项目。速度相对慢(毕竟服务器没在国内)。
2)Gitee(码云):
优点:免费,国内的速度快,可以团队应用(5人以内),多再付费。
缺点:还不清楚。
3、安装Git(Windows)
1)下载
官网地址:https://git-scm.com/downloads/ (默认会自动下载你系统对应的,也可以自己选择下载)
2)安装
双击,一路下一步(注意下方,强烈强烈强烈建议安装:命令行及图形模式)
3) 完成。
4、Git 基本工作流程及配置
Git是对文件的修改进行跟踪,主要是文本文件,Word是特殊的文本文件(二进制),所以对Word,EXE、音视频等无法跟踪其变动。
1)Git工作区域
2)向库中添加文件流程
3)Git配置
Git使用必须得设置名称及邮箱,这个表示自己的身份,所以先设配置本机的用户信息(两种方式)
命令行:
git config --global user.name "your name"
git config --global user.email "[email protected]"
GUI: Edit - options打开的对话框中左上角就是上面命令行的内容。
提醒:把编码改成UTF-8
5、Git教程正式开始
以下操作全部都是命令行+Gui的操作,建议都练练,毕竟GUI好记,到Linux上还是用Bash(命令行)
1)初始化
命令:git init
2)暂存到工作区
命令行的方式是你必须知道改动了哪个文件,然后按命令行的方式直接add到工作区。
命令:Git add filename
GUI的好处是,你可以直接点击“Rescan"就能发现所有改动文件,包括删除的。
提示:工作区只能一个一个文件添加,命令行后面可以一次性多个,但必须分着写文件名。
3)提交到仓库
命令:git commit ‘描述’
6、远程仓库及Clone项目
建议:先从远程建一个仓库,然后再克隆的本地,再进行后续的修改,提交。
远程项目库有两种连接方式:https和ssh
https:需要每次都输入账号密码,速度还慢,用https://开头。
ssh:如果是自己电脑,用SSH方式,用git@开头
1)认识远程项目的下载方式
Zip是直接下载项目的压缩包;另外SSH和Https就是用Git工具下载:
2)克隆项目到本地
A:创建SSH Key
命令行: ssh-keygen -t rsa -C "[email protected]"
GUI生成,非常简单:
将生成的ssh-rsa开头的所有内容复制,见B步骤;
B:设置SSH Key
打开github.com,并用你的账号登录(注册过程省略)
3)提交项目到远程仓库
提示成功后到Github去刷新,OK。失败注意看提示。
7、Git GUI 技巧
1)命令行图形化
举例:操作日志命令为:git reflog,但是GUI是没有这个的。我们就自定义这个图形化的功能:
主界面菜单:Tools -- Add...
上面是举例,当然你可以添加任何命令,以后点:Tools就能看到这个中文,点击后就是执行了这个命令的结果,上面这个非常有用,因为这个可以让你穿越不同版本(已删除或当前版本以后的版本中)
2)查看所有文件改动:
主界面第一个菜单:Respository -- Visualize master's History 是显示master主线的所有版本历史。
主界面第一个菜单:Respository -- Visualize All Branch History 是显示所有分支的所有版本历史。
3)版本之间穿越
Respository -- 选中要穿越的版本号,右键:Reset master branch to here。在弹出的窗口中选“Hard"选项即切回到选中的版本。
技巧:如果把软件关掉或重启电脑后你再想回到之后的版本,这里没有之后的版本信息,所以你是没法回去的,幸运的是,这就是技巧,用技巧1中的查看日志,找到你后来的日志的Commit ID,然后只能执行命令了,方式:Git GUI菜单Repository - Git Bash。直接执行命令:git reset hard commitid
命令:git reset --hard commitID #commitID 前5位即可
8、关于分支Branch
此部分内容因为当前几乎不用,所以暂时不写了,等用到回来更新。
分支的逻辑这么理解:默认的master可以理解成公司对外发布版本,这个可以定义1.0,2.0等,可以用(Tag)。如果再加一个功能,但是这个功能我得做几天,为了不影响正常发布,那就建立一个分支如:dev,然后你只管开发,等你觉得差不多了,再把Dev和master做合并,之后就删除Dev分支。
多人协同开发也是一个道理,各自创建分支,然后合并到发布预览分支(即负责人进行合并),没问题再进行发布。
9、Pychram中的版本控制功能
首先你也需要先安装Git,然后在设置 - 版本控制(VCS) 中选择Git,关链,这样Add,Commit功能在项目中就有了,直接右键,上面的是思路和方式,了解后不管是在Bash还是GUI还是Pycharm等其它环境中,套路都是一样的。