1. 我们知道在开发一个项目时,可能会做一些没有把握的,尝试性的操作,去解决一个比较困难的问题。又或者我们的开发出现偏移,需要回退到之前的某个版本,但如果只依靠人工去管理,那么你需要做的事情是记住你的代码所有的变化,然后一点点删除这些添加的代码,直到你想要回退的版本。从某方面来说,这是一项艰巨的任务,你不可能记住所有代码变更细节,而且这样做确实也会浪费大量精力时间,而 Git 帮助我们快速高效的完成了这项工作。
2. Git 相比较于其他版本管理系统的优势:
【1】所有的操作都可以在本地进行,简单来说,你的项目代码可以先上传到本地仓库,而本地仓库是不需要网络连接的,这意味着你可以快速的进行上传保存,而不会受到网速波动等状况的影响。同时,如果你希望他人可以获取你的项目代码,那么只需在有网络连接时把它上传到 Github 上即可。
【2】Git 一般只支持添加操作,而不是删除操作,这意味着如果你项目的代码发生更新变动,那么你永远可以放心的使用 Git 提交,如果希望回溯到旧版本,直接拉旧版本的分支即可。
3. 对于 Git 的基本配置:
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%88%9D%E6%AC%A1%E8%BF%90%E8%A1%8C-Git-%E5%89%8D%E7%9A%84%E9%85%8D%E7%BD%AE
查看自己本地 Git 配置信息:在命令行【Windows OS】或者终端【Mac OS】运行 git config --list 即可.
4. 我们有两种获取 Git 项目仓库的方式:
1. 将尚未进行版本控制的本地目录转换为 Git 仓库;
2. 从其它服务器 克隆 一个已存在的 Git 仓库。
本人在选择第二种方式从 Github 上 clone 别人项目时,报错:git SSL certificate problem: unable to get local issuer certificate.发现是自己没有设置 SSL key,接下来介绍下如何设置 SSL key.
【1】在 Git Bash命令行中,输入命令: cd ~/.ssh,来检测是否生成过 key ,没有生成过 key ,会有相关信息提示;然后输入命令: ssh-keygen -t rsa -C “你自己设置的邮箱地址”,按下回车键;然后根据返回的信息,找到 .ssh 目录下的两个文件 id_rsa 和 id_rsa.pub,一个是 私钥,一个是 公钥;
【2】在github上添加SSH key,在 Github 上点击“setting”,找到添加 SSH key 的菜单,然后新增 SSH key ;把文件 id_rsa.pub 里面的内容全部复制到 key 编辑框中,保存完毕;
【3】检查SSH key是否有效,在git命令行输入:ssh -T git@github.com;这里会要求你输入 SSH key 密码,如果刚才生成 SSH key 时未输入密码,密码就为空;然后看到信息:Hi 用户名! You’ve successfully authenticated;说明配置成功;但在这一步你可能会出现一个错误:
ssh: connect to host github.com port 22: Connection refused
这是因为在 .ssh 目录下缺少 config 文件所导致的,我们可以自己在这个目录下创建一个文件类型为文件【即无文件类型后缀名】的 config 文档,输入以下内容,注意第二行是你自己的邮箱.
然后很遗憾的是可能你在以上操作后还会遇到一个错误提示,但是直接按照它的要求输入 yes ,就好了,这是因为 .ssh 文件缺少 known_hosts 导致的,它会自动帮你生成.
【4】最终,我们在需要克隆的 Github 项目页面,复制 SSH,在希望放置项目的目录下输入 git clone [ SSH链接 ] 即可.
可以参考官方文档:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93
以及 https://www.bilibili.com/video/BV1mQ4y1r7yZ?p=6 偶然看到的相关教程......