本篇文章是关于git的学习记录。
一、什么是git
Git(读音为/g?t/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是[Linus Torvalds](https://baike.baidu.com/item/Linus Torvalds/9336769)为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。民间也有流传 , 是 Linus Torvalds , 看不惯当时的一些版本控制系统收费的现状 , 自己在小黑屋里写了两周搞出来的产物 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
二、为什么要有git
在git出现之前 , 在一些企业中使用到的版本控制软件大都是 svn , 自从git出现以后 , 就取代了svn的位置 , 下面是关于两者的区别 Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。 如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:
- **1、Git 是分布式的,SVN 不是**:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
- **2、Git 把内容按元数据方式存储,而 SVN 是按文件:**所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
- **3、Git 分支和 SVN 的分支不同:**分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
- **4、Git 没有一个全局的版本号,而 SVN 有:**目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
- **5、Git 的内容完整性要优于 SVN:**Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
三、git的安装
git的下载地址: https://git-scm.com/downloads 下载好后,双击打开,下一步,下一步,安装即可,当在任意目录右键有git的方式,即为安装成功。
四、基础命令
官方教程: http://git-scm.com/docs
1、注册账号
使用git之前 , 需要先初始化一个账号 , 可以使用下面的命令初始化:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
2、初始化仓库
git init
git add "文件名"
git add .
git status
3、github创建远程仓库
上面的初始化仓库命令 , 只是在本地创建好仓库 , 接下来在使用github创建一个远程仓库 , 当然前提你要有一个github账号 , 这个申请注册非常的简单。 登录github账号,点击New repository:
填好相关信息: 然后就创建好了: 这里会给一些提示命令:
echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/1derian/test.git
git push -u origin main
git remote add origin https://github.com/1derian/test.git
git branch -M main
git push -u origin main
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/1derian/thinkphp5-rce.git
git push -u origin main
4、本地仓库推到远程
这里我们在本地新建了个文件夹,里面放了一个文件: 输入命令,提交: 命令:git push -u orgin main 结果:
如果遇到超时错误,可以设置一个代理: git config --global http.proxy ip:port git config --global https.proxy ip:port
5、再次推送
当你的项目中又添加了东西,创建了新的文件,那可以这样做: git add . git commit -m “second commit” git push -u origin main
6、补充
.gitignore 文件中可以设置忽略提交的文件/文件夹 , 该操作一定是在第一次git add . 之前 比如我的工作目录下有一个config.txt , 不想推送到远程仓库中 , 你可以这样做 当然也支持通配符: target //忽略这个target目录 angular.json //忽略这个angular.json文件 log/* //忽略log下的所有文件 css/*.css //忽略css目录下的.css文件
五、总结
这些仅仅是git的九牛一毛 , 但是也够新手操作的了 , 关于git更多的玩法 , 你会在真实的项目中 , 以及解决的报错中慢慢的学习到git的强大
|