实例详解Git的常见操作
发布时间 - 2022-03-25 00:00:00 点击率:次本篇文章给大家带来了关于git的相关知识,其中主要介绍了一些常见的操作,包括了设置字体、创建远程仓库、创建本地仓库等等,希望对大家有帮助。
推荐学习:《Git教程》
Git版本控制
开发难题
在实际开发中我们会遇到一些问题,电脑蓝屏,代码丢了,懊悔不?磁盘坏了,文件没了,懊悔不?时间长了,文件找不到了,懊悔不?手欠,之前代码运行好好的,非要去优化下,结果还不如以前,信心满满,之前代码没保存,懊悔不?怎么解决呢?版本控制就可以解决这些难题了。
版本控制(Version Control System),它功能强大,不仅能备份你的文件,还可以实现很多:
- 记录文件的所有历史变化
- 错误恢复到某个历史版本
- 多人协作开发编辑同一个文件
- 实现功能差异版本(分支),如:mysql、mariadb、percona三个分支
主流的版本控制产品
| 名称 | 模型 | 并发** 模式 ** | ** 历史 **模式 | 变更** 范围 ** | ** 网络协议 ** | ** 原子 **提交性 |
|---|---|---|---|---|---|---|
| CVS | Client-server | Merge | Changeset | File | Pserver,ssh | No |
| SVN | Client-server | 3-way merge, recursive merge, octopus merge | Changeset and Snapshot | Tree | custom (svn), custom (svn) over ssh, HTTP and SSL (usingWebDAV) | Yes |
| Git | Distributed | Merge or lock | Snapshot | Tree | custom, custom over ssh, rsync, HTTP/HTTPS, email, bundles | Yes |
简而言之,各有优缺点,git要配合github远程仓库,可以避免分布式损坏。显然最大的不同在于git是分布式的。svn有权限控制,避免全被clone克隆走。git适合纯代码,svn适合综合性文档管理,git+svn结合起来,完美。
介绍
Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux的核心,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式
管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?吃瓜群众可以体会一下。
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。
组成结构图
- 工作空间:用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
- 本地索引:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。有时候也被称作"索引",不过一般说法还是叫暂存区域。
- 本地仓库,之所以说git 快,大部分提交都是对本地仓库而言的,不依赖网络,最后一次会推送的到远程仓库。
- 远程仓库:可以看做是github,它是一个远程仓库,它提供web服务供大家方便下载、查看、提交、存储。
命令速查
常用命令
- 克隆仓库(第一次时) clone 克隆
- 对工作目录中文件新增、修改、删除操作
- 暂存文件,将文件的快照放入暂存区 add 新增
- 把暂存区的内容提交到本地仓库 commit 提交
- 把本地仓库的内容提交到远程仓库 push 推送
- 从远程仓库下载最新内容 pull 拉取
码云配置环境
注册账号
每个人必须有自己的账号,先官网注册账号:
https://gitee.com/
登录
安装GIT
Git-2.27.0-64-bit,一路next,安装完桌面右键菜单有下面两项,安装完成。选择Git Bash,进入git客户端。
Windows开始菜单:
设置字体
查询git
码云创建仓库
创建远程仓库(在码云官网上)
创建本地仓库(在你的磁盘中)
创建测试文件, 并在本地仓库执行以下命令:
git config --global user.name "cgblpx" #配置注册时的用户名 git config --global user.email "2250432165@qq.com" #配置注册时的邮箱 git config --list #检查配置信息 mkdir j2ee cd j2ee git init #初始化 在本地仓库中,创建文件1.txt git add 1.txt #新增文件到git中处理 git commit -m "first commit" #提交,设置说明信息 git remote add origin https://gitee.com/nutony/j2ee.git #远程仓库 git push -u origin master #把本地仓库的资源 提交给Git服务器
第一次执行会弹出下面的用户名、密码框,填写码云的账号信息就可以
刷新页面,如果创建成功,Git上界面发生变化如下样子,这样环境就完成了
每日任务
每日早上开始工作前拉取最新团队其他人提交的内容,每日下班前提交可用的内容
新文件
创建项目目录,创建新文件,或者复制已有文件或者复制已有目录:
推送
把本地文件上传到远程仓库中:
$ git add . #添加当前目录下文件 $ git commit -m "j2ee part" #提交,设置备注 $ git push -u origin master #推送到远程仓库
拉取/下载
把远程仓库中的内容下载到本地:
$ git pull #从服务器拉取最新内容
常见错误
Authentication failed for
任何路径下输入都可以:
git config --system --unset credential.helper
然后提交操作时,会出现询问框,重新输入用户名提示
failed to push some refs to…
这是是因为readme.md 没有存在在本地git中
git pull --rebase origin master #
$ git push -u origin master #推送到远程仓库
–rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区。
fatal: remote origin already exists
1、先输入$ git remote rm origin(删除关联的origin的远程库)
2、再输入重新执行 git push -u origin master
3、如果输入第1步 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
SSL certificate problem: unable to get local issuer certificate
--执行命令解决: git config --global http.sslVerify false --重新push: git push -u origin master
邮箱是私有的报错
需要在码云上,把邮箱改成公开的才行
IDEA整合Git
在Gitee创建新的仓库
在网页中创建仓库名称:cgb2109-3
进入workspace
进入workspace,再进入你的项目目录,直接执行clone命令:
git clone https://gitee.com/cgblpx/cgb2109-3.git 也许: 需用执行其他的账号密码等命令
打开IDEA的工程中,你会发现直接就能提交或者拉取代码了
推荐学习:《Git教程》
# git
# php
# ruby
# bash
# mysql
# 分布式
# jquery
# for
# Error
# 并发
# 对象
# github
# windows
# svn
# idea
# 数据库
# mariadb
# http
# https
# ssl
# linux
# ssh
# gitee
# 控制系统
# 这是
# 开源
# 世界各地
# 已有
# 报错
# 好用
# 官网
# 就可以
# 弟兄们
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
三星网站视频制作教程下载,三星w23网页如何全屏?
如何在宝塔面板中创建新站点?
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何快速打造个性化非模板自助建站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
Android Socket接口实现即时通讯实例代码
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
C#如何调用原生C++ COM对象详解
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
什么是javascript作用域_全局和局部作用域有什么区别?
如何在万网ECS上快速搭建专属网站?
javascript日期怎么处理_如何格式化输出
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
焦点电影公司作品,电影焦点结局是什么?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
详解Android——蓝牙技术 带你实现终端间数据传输
如何在宝塔面板中修改默认建站目录?
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
高端网站建设与定制开发一站式解决方案 中企动力
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
Laravel集合Collection怎么用_Laravel集合常用函数详解
浅谈redis在项目中的应用
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何在阿里云虚拟服务器快速搭建网站?
怎么用AI帮你设计一套个性化的手机App图标?
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何在Windows服务器上快速搭建网站?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
大型企业网站制作流程,做网站需要注册公司吗?

