什么是git?
git是一种分布式版本控制系统,第一要理解什么是版本控制,我今天写了5000字论文,要经过导师多次提议修改,第二天我改了一些内容,比较稳妥的方案是,把论文复制一下做备份,之后改到第N版时觉得还是第1版方案好,那就复制粘贴回退到第1版,这就是版本控制。
那么对于程序员来说,项目开发的代码版本也是需要不断备份,且更多时候是多人协作,共同开发一个大型项目。这种对原始项目复制粘贴的备份方法显然过于笨重,因此就出现了许多软件版本控制,列如git、SVN等,可以自由选择回退到之前哪一个版本。
软件版本控制有分为聚焦式和分布式,列如SVN,需要一个中心服务器,所有软件历史版本都在中心服务器存储,每个开发者第一要从服务器获取最新的源代码,开发完成再向服务器推送最新代码。不过一旦服务器出现故障,开发者就无法获取最新的代码。
而git是分布式管理,每个开发者的电脑上都存储完整的历史版本,可以自己选择时间向服务器推送,然后服务器进行代码合并。开发团队可以自建中心服务器也可以使用GITHUB网站管理。即时中心服务器出现故障,每个客户端也存储着项目完整的历史版本。
git配置
git支持多种操作系统,Windows系统直接官网下载git安装包,双击安装就可以:
GUI图形化一般不需要,可以根据需求自主选择:
新建项目文件夹test,进入打开git,鼠标右键-git bash打开git终端:
终端中基础命令和Linux基础命令大部分一样,当然,也可以使用cmd或者powershell等其他终端,这一步在安装git过程中进行了选择。
在Ubuntu20.04中,通过apt包安装git:
sudo apt install git
安装完毕,输出git版本,检测是否成功:
连接GITHUB
github网站被誉为是全球最大的同性交友网站(男性程序员较多),每个程序员的项目都可以通过github服务器做管理,而不需要自己搭建服务器。而且互联网的开源精神影响,程序猿也热衷于将自己的项目在github开源,其他人认为你的项目有价值会打星、fork,因此,许多明星项目都是在github上开源,逐渐形成社区,列如Vue、jQuery、Ruby……github项目的火热程度也作为程序员技术水平衡量的重大标准。
第一,要登陆github官网,注册账号并登录:
然后点击新建:
输入项目名称、描述等信息,Public是公开项目,创建私有项目要进行收费,READEME文件是项目简介:
第一次连接github需要本地服务器和github建立ssh连接,第一配置全局用户名和密码:
git config –global user.name “hioier”
git config –global user.email xypip@qq.com
git config –global –list # 查看所有配置
创建ssh:
ssh-keygen -t rsa -C “xypip@qq.com”
然后一直按回车就可以。
复制pub公钥:
或者通过pbcopy命令复制到剪切板:
sudo apt install xclip
vim ~/.bashrc
# 添加内容
alias pbcopy=’xclip -selection clipboard’
alias pbpaste=’xclip -selection clipboard -o’
source ~/.bashrc
pbcopy < ~/.ssh/id_rsa.pub
然后进入GITHUB,点击右上角头像处选择设置:
测试是否成功:
ssh -T git@github.com
克隆项目
克隆就是将github项目完整的下载到本地:
git clone git@github.com:hioier/test.git
这样,一次本地服务器和github之间就已经连通啦,接下来简单实现git三部曲,修改一些READEME文件,然后上传至github服务器:
进入github刷新页面,新添加的信息已经更新成功,这就是github最基础的三部曲:git add添加,git commit 备注,git push 提交程序。
我在小蓝里找不到五十多岁的帅老头
不懂就问,啥是小蓝
教教我怎么进圈?我想加入
俺们是正规编程知识科普
都是年轻人的吗?老年人不能进吗
男人抱我,我也能接受,我是不是同性恋啊?
中国的光棍三千多万!
你在暗示什么
从来不喜欢在那些地方找,太乱了,不敢乱找
我是正经做编程知识科普的
我不能容忍同志。原来,网上有个女人天天诱惑我,我坚定的拒绝了
自制力强大
基友
喜欢帅大叔
60岁的老头路过
我是被标题吸引进来的,结果你给我看这个
咱们是正规的
笑死,一堆人不看文章内容,只晓得交友哈哈哈
我标题写得明明白白
我是做UI的,好想给你头像换一张高清图目前看着像素太低了
也想找个零在一起脱单,有人吗?来找我照顾你
这里是正规的编程交流
怎么加入啊?可以教一下吗?谢谢
这是什么?
程序员管理代码的平台
蛋定
好复杂呀。
一般配置完毕,每天只需要固定执行最后三条指令,熟练了就OK啦,还有更细致的用法我得后面慢慢写
外国软件
大龄程序员路过