【Git笔记】分布式版本控制系统
作为一名程序员,关于软件版本控制系统的使用是一项很重要的技能。
一、毕业找工作时,很多大厂的线上简历都有一项选填的选项——你的Github账号是什么。
二、工作的时候,也要用到,因为产品总是要更新迭代,意味着软件代码也总是需要更新,所以会使用一些软件版本控制系统,如小编毕业实习公司所用的版本控制系统是SVN(SVN是一个集中式的版本控制系统)。下面介绍一下最先进的分布式版本控制系统。
Git:分布式版本控制系统。
Github:面向开源及私有软件项目的托管平台。
Git与Github的关系:只支持Git 作为唯一的版本库格式进行托管,故名GitHub。
大家应该都有从Github上下载(克隆)过一些开源项目源码吧?下载别人的项目代码很方便,找到开源项目仓库,点击Clone or download按钮就可以进行下载,如:
但是,建立自己的软件仓库来管理自己的项目代码可能就需要折腾了。首先,得在电脑上安装Git,其次建立本地的Git仓库,再把本地仓库上传到远程仓库(如Github)。小编也是最近也才开始学习Git的使用,现总结出一些笔记如下(ps:小编使用的是window系统):
【下载】
方法一:移步至Git官网(https://git-scm.com/)下载。下载速度可能会很慢。
方法二:在本公众号后台回复关键字:git
【安装】
按默认选项安装即可。
安装完成之后。在开始菜单会出现:
打开Git Bash,依次输入命令:
$ git config --global user.name "user"
$ git config --global user.email "email"
进行本地git配置,user为你的用户名(随意取),email为你的email,设置这两个信息的原因是在于远程库进行关联时需要一个key,配置这两个信息以确保你的唯一性。使用--global参数表明你这台机器上所有的仓库都进行相同的配置。如小编配置如下:
【步骤一】创建仓库(即一个用于管理软件项目的目录)
如我的test仓库保存在:
D:\Git\
【步骤二】通过git init命令把D:\Git\test目录变成Git可以管理的仓库
进入D:\Git\test目录下,然后点击右键选择Git Bash Here进入命令行,如:
输入git init初始化我们的git仓库——test。此时会产生一个.git/目录,这个目录是Git用来跟踪管理版本库的。git/目录是隐藏目录,输入ls -al命令可查看,ls -a是linux命令,用于列出当前文件夹下的所有文件及目录。如:
【步骤三】把文件添加到版本库(仓库)中。
依次输入命令:
git add hello.c
git commit -m "fisrt commit"
如下所示:
此时,hello.c文件已经被加入到了本地版本库(仓库)当中。
【步骤一】注册github账户
进入https://github.com/网站进行注册。
【步骤二】创建ssh密钥并添加到远程仓库中进行设置
输入命令:
ssh-keygen -t rsa -C "email"
创建ssh key。此时,用户根目录下的.ssh/目录下会生成两个文件:id_rsa和id_rsa.pub,把id_rsa.pub文件中的内容复制到github账户中进行设置。
输入命令cat ~/.ssh/id_rsa.pub可查看id_rsa.pub的内容,然后进行复制即可。如:
【步骤三】更新本地仓库至远程仓库(GitHub仓库)中。
在GitHub上创建一个仓库(与本地仓库同名),如:
点击Create Repository按钮进入如下界面:
依次输入命令:
$git remote add origin git@github.com:zhengnianli/test.git
$git push -u origin master
就可以把我们的本地仓库与远程仓库进行关联。第一条命令是把本地库与远程库进行关联,其中远程仓库的名字origin是可以更改的;第二条命令是把本地仓库的内容推送到远程仓库中。如:
再看看我们的远程仓库,上传成功:
其他的远程仓库,如码云,我们的本地仓库既可以同步到GitHub,也可以同时同步到码云。同步到码云上的方法与同步到GitHub上是一样的,需要注意的是远程仓库的名字不能是origin,因为上面我们的GitHub远程软件仓库的名字已经命名为origin。结果如下:
后台回复:C101,获取【入门C语言最好的书籍】
后台回复:C000,获取【热门C语言电子书】
后台回复:CV001,获取【郝斌C语言教程视频】
后台回复:CV000,获取【热门C语言视频教程】
后台回复:py100,获取【Python电子书】
后台回复:py001,获取【第一本python入门书】
后台回复:天气预报,获取【天气预报项目源码】
后台回复:py007,获取【机器学习视频教程】
后台回复:py006,获取【Python自动化测试教程】
后台回复:py005,获取【人工智能图像处理视频教程】
后台回复:py004,获取【Python人工智能视频教程】
后台回复:py003,获取【Python入门与进阶视频教程】
后台回复:py002,获取【机器学习经典算法视频教程】