0

0

实例详解Git的常见操作

WBOY

WBOY

发布时间:2022-03-25 19:31:12

|

2882人浏览过

|

来源于CSDN

转载

本篇文章给大家带来了关于git的相关知识,其中主要介绍了一些常见的操作,包括了设置字体、创建远程仓库、创建本地仓库等等,希望对大家有帮助。

实例详解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结合起来,完美。

介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CZ6OzODv-1623157728769)(RackMultipart20210608-4-134iydv_html_e33976d05a3cbd51.png)]

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了。

组成结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MehgNqgG-1623157728773)(RackMultipart20210608-4-134iydv_html_718425c3858133d0.png)]

  • 工作空间:用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
  • 本地索引:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。有时候也被称作"索引",不过一般说法还是叫暂存区域。
  • 本地仓库,之所以说git 快,大部分提交都是对本地仓库而言的,不依赖网络,最后一次会推送的到远程仓库。
  • 远程仓库:可以看做是github,它是一个远程仓库,它提供web服务供大家方便下载、查看、提交、存储。

命令速查

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aGMsEjFt-1623157728776)(RackMultipart20210608-4-134iydv_html_7a185039891c1e34.jpg)]

常用命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBgJ5B2v-1623157728787)(RackMultipart20210608-4-134iydv_html_c278aa3145c1d16.png)]

  • 克隆仓库(第一次时) clone 克隆
  • 对工作目录中文件新增、修改、删除操作
  • 暂存文件,将文件的快照放入暂存区 add 新增
  • 把暂存区的内容提交到本地仓库 commit 提交
  • 把本地仓库的内容提交到远程仓库 push 推送
  • 从远程仓库下载最新内容 pull 拉取

码云配置环境

注册账号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wOYTp28P-1623157728790)(RackMultipart20210608-4-134iydv_html_ee3df225ecfa14a5.png)]

每个人必须有自己的账号,先官网注册账号:

https://gitee.com/

登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VnYsOJoz-1623157728792)(RackMultipart20210608-4-134iydv_html_5630bfa6cae09d3a.png)]

安装GIT

Git-2.27.0-64-bit,一路next,安装完桌面右键菜单有下面两项,安装完成。选择Git Bash,进入git客户端。

Windows开始菜单:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SBXGzXKy-1623157728793)(RackMultipart20210608-4-134iydv_html_4ae4484baff4f1b.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HKqLskdq-1623157728794)(RackMultipart20210608-4-134iydv_html_4d801917077277a1.png)]

设置字体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-92XnFcD5-1623157728796)(RackMultipart20210608-4-134iydv_html_1ef4a9ee74a861f2.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5moFLTTd-1623157728797)(RackMultipart20210608-4-134iydv_html_8ed65822656131e5.png)]

查询git

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tjnE2P7R-1623157728799)(RackMultipart20210608-4-134iydv_html_48b3579aef88fd4d.png)]

码云创建仓库

创建远程仓库(在码云官网上)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0SRL9yPY-1623157728803)(RackMultipart20210608-4-134iydv_html_f2a881bc170fa9e4.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1gg9jRd2-1623157728805)(RackMultipart20210608-4-134iydv_html_b0844519a8530850.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rWgE9Vyn-1623157728806)(RackMultipart20210608-4-134iydv_html_48bbed748fd9ffd2.png)]
在这里插入图片描述

创建本地仓库(在你的磁盘中)

创建测试文件, 并在本地仓库执行以下命令:

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服务器

第一次执行会弹出下面的用户名、密码框,填写码云的账号信息就可以

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wnj6aRSh-1623157728807)(RackMultipart20210608-4-134iydv_html_9b9a09017f20e7d9.png)]

短视频去水印微信小程序
短视频去水印微信小程序

抖猫高清去水印微信小程序,源码为短视频去水印微信小程序全套源码,包含微信小程序端源码,服务端后台源码,支持某音、某手、某书、某站短视频平台去水印,提供全套的源码,实现功能包括:1、小程序登录授权、获取微信头像、获取微信用户2、首页包括:流量主已经对接、去水印连接解析、去水印操作指导、常见问题指引3、常用工具箱:包括视频镜头分割(可自定义时长分割)、智能分割(根据镜头自动分割)、视频混剪、模糊图片高

下载

刷新页面,如果创建成功,Git上界面发生变化如下样子,这样环境就完成了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpiuq4ZW-1623157728808)(RackMultipart20210608-4-134iydv_html_1f03d41be6f2bf39.png)]

每日任务

每日早上开始工作前拉取最新团队其他人提交的内容,每日下班前提交可用的内容

新文件

创建项目目录,创建新文件,或者复制已有文件或者复制已有目录:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IShAhPCv-1623157728810)(RackMultipart20210608-4-134iydv_html_62064adbf9328ec1.png)]

推送

把本地文件上传到远程仓库中:

$ git add .								#添加当前目录下文件
$ git commit -m "j2ee part"				#提交,设置备注
$ git push -u origin master				#推送到远程仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Elz0HOoG-1623157728811)(RackMultipart20210608-4-134iydv_html_b701325b7a63de7d.png)]

拉取/下载

把远程仓库中的内容下载到本地:

$ git pull										#从服务器拉取最新内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4QBma7Ls-1623157728813)(RackMultipart20210608-4-134iydv_html_3843aa39ae42cc03.png)]

常见错误

Authentication failed for

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELddDPlA-1623157728816)(RackMultipart20210608-4-134iydv_html_feb27f7e4a2510ae.png)]

任何路径下输入都可以:

git config --system --unset credential.helper

然后提交操作时,会出现询问框,重新输入用户名提示

failed to push some refs to…

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JJuJ09xK-1623157728817)(RackMultipart20210608-4-134iydv_html_ff46da16045ae4c6.png)]

这是是因为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教程

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

683

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

472

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

287

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

519

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

265

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

392

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

542

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

665

2023.08.14

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

4

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 4万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.6万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 94人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号