一、引言
二、Git安装
三、Github的文件上传与下载操作
四、总结
注:在Git Bush Here 可能遇到的错误
OpenSSL SSL_read: Connection was reset, errno 10054 错误解决:git config --global http.sslVerify "false"
Failed to connect to github.com port 443: Timed out 错误解决:git config --global --unset http.proxy
在团队软件项目开发中,对于源代码的管理相当重要,如果不能合理正确却规范化地进行管理,则会在开发过程中造成代码污染、版本错乱,以及团队成员间的代码冲突。
目前的源代码管理主要分为两种:集中式版本控制系统、分布式版本控制系统。集中式较为知名的是SVN与CVS,CVS是一个C/S系统,主要在开源软件管理中使用,现公司中基本已用SVN替代CVS,但这里要着重介绍的不是集中式,而是分布式。
在分布式版本控制系统中,独占鳌头的是Git,国外目前最大的代码交流社区以及代码托管网站Github和Bitbucket,Gitlab,以及国内的码云(Gitee)、Coding、华为软件开发云(DevCloud)都是支持Git的,由此可见Git的影响力之大。
本文介绍的源代码管理工具是Github。在介绍GitHub之前先简单讲述一下Git的特点:将内容按元数据方式存储;是分布式的(也是最重要的特征);直接记录快照,而非差异比较;近乎所有操作都是本地执行;时刻保持数据完整性。
同时我们需要明白Github与Git完全是两个概念,并不可以混为一谈,Git是版本控制系统,Github是在线的基于Git的代码托管服务。由于Github是外国网站,所以虽然未被墙,但是裸连的稳定性并不可靠,可能需要刷新等待六七次才可以进去,大部分是无法连接的情况。所以有条件的还是选择挂上VPN再尝试。
首先,我们要安装好Git,就如同写Java安装IDEA时得先配置好JDK一样。
下载地址:(https://git-scm.com/downloads)
注意查看Git Bush Here与Git GUI Here是否被勾选上
这里选择Git文件默认的编辑器,如我选择的是平时用的Visual Studio Code
这里选择的是初始化储存库时,第一个初始分支的名字。
选项一:由Git决定第一个初始分支的名字,而默认值时:master
选项二:可由用户自己定义名字,一般团队会选择main、trunk之类的
这个界面是调整您的PATH环境。
第一种配置是“仅从Git Bash使用Git”。这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 Git Bash 的 Git 命令行工具。但是这将不能通过第三方软件使用。
第二种配置是“从命令行以及第三方软件进行Git”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。
您将能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。这也是推荐的选项。
第三种配置是“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。
我选择推荐的选项第二种配置,点击“Next”按钮继续
这个界面是选择HTTPS后端传输。
第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。
第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。
这个界面是配置行尾符号转换
第一个选项是“签出Windows风格,提交Unix风格的行尾”。
第二个选项是“按原样签出,提交Unix样式的行尾”。
第三种选项是“按原样签出,按原样提交”。
这个界面是配置终端模拟器以与Git Bash一起使用,建议选择第一项使用MinTTY为终端,比起第二个默认控制台窗口,具有具有可调整大小的窗口,非矩形选择和Unicode字体的特点。
以下选项用户可以自由选择,也可以直接选择默认选项。
至此就算可以正式安装了。
完成了准备阶段的任务,接下来就是项目管理的基本操作了,大致可以分为:Github上的建库,本地建库,上传至远程库,克隆至本地。
在Github拥有账号后,点击“New”新建一个仓库,建立成功后库会显示在下列处,此处已有“TheWasser”、“github-Slideshow”两个库了。
1、 选择所建库的拥有者
2、 输入仓库的名字
3、 对仓库的简要描述(可选)
4、 选择仓库的性质,是公开所有人都可以查看,还是私有,别人无法查看
5、 选择是否要在仓库中添加README文件或者.gitignore文件或者是许可证,.gitignore文件是对要上传的文件夹上传规则的说明文件,如果不希望或没必要上传所选项目的所有文件,可以将筛选规则写入.gitignore,git会在上传时通过文件内容自行筛选。
远程仓库建立成功
在要上传的文件夹处右击鼠标,选择Git Bush Here
指令:git init 在当前文件下创建本地库
执行指令后可以在当前文件夹发现生成一个.git的隐藏文件夹
指令 :git add -A 将当前文件夹的所有文件全部添加到缓存区
指令:git commit -m ‘xxxxx’ 将缓存区的文件提交到本地仓库
指令:git branch -M main 新建名为main的分支
指令:
git remote add origin https://github.com/TheWasser/AddressTranslation.git
将本地库与远程库连接(将git与Github关联)
通过日志可以查看到上述操作记录
指令:git push -u origin main 初次将本地仓库的文件提上传到远程库
已经成功上传
如果想要在新地方,克隆下远程库的文件继续操作,只需要一行指令便可以:
Git clone xxxxxx 省略部分是远程库的文件地址
总结:
对于团队来说,代码管理必不可少,而Github的分支(branch)更能提供版本的更迭回溯,对于软件开发的维护都起到了相当重要的帮助。而 pull request功能更是团队开发的大利器,将代码库中的源码克隆下来一份到自己的本地(fork),进行修正改错之后(fix),再将他的操作后代码发出(git commit),由源码的所有者查看后若采纳,则与自己的源码进行合并(merge),这使得开发的团队优势发挥到了最大。而且Github功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面,适合作为一个学习代码的社区。