Git的常见操作

文章目录

    • Git版本控制
      • 开发难题
      • 主流的版本控制产品
      • 介绍
      • 组成结构图
      • 命令速查
      • 常用命令
    • 码云配置环境
      • 注册账号
      • 登录
      • 安装GIT
      • 设置字体
      • 查询git
    • 码云创建仓库
      • 创建远程仓库(在码云官网上)
      • 创建本地仓库(在你的磁盘中)
    • 每日任务
      • 新文件
      • 推送
      • 拉取/下载
    • 常见错误
      • Authentication failed for
      • failed to push some refs to..
      • fatal: remote origin already exists
      • SSL certificate problem: unable to get local issuer certificate
      • 邮箱是私有的报错
    • IDEA整合Git
      • 在Gitee创建新的仓库
      • 进入workspace
      • IDEA中整合Git步骤
      • 打开IDEA的工程中,你会发现直接就能提交或者拉取代码了
    • IDEA导入下载好的Git项目

Git版本控制

dy同名: cgblpx

开发难题

在实际开发中我们会遇到一些问题,电脑蓝屏,代码丢了,懊悔不?磁盘坏了,文件没了,懊悔不?时间长了,文件找不到了,懊悔不?手欠,之前代码运行好好的,非要去优化下,结果还不如以前,信心满满,之前代码没保存,懊悔不?怎么解决呢?版本控制就可以解决这些难题了。

版本控制(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了。

组成结构图

Git的常见操作_第1张图片

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

命令速查

Git的常见操作_第2张图片

常用命令

Git的常见操作_第3张图片

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

码云配置环境

注册账号

Git的常见操作_第4张图片

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

https://gitee.com/

登录

Git的常见操作_第5张图片

安装GIT

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

Windows开始菜单:

Git的常见操作_第6张图片

Git的常见操作_第7张图片

设置字体

Git的常见操作_第8张图片

Git的常见操作_第9张图片

查询git

Git的常见操作_第10张图片

码云创建仓库

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

Git的常见操作_第11张图片

Git的常见操作_第12张图片
Git的常见操作_第13张图片

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

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

git config --global user.name "cgblpx" #配置注册时的用户名
git config --global user.email "[email protected]"  #配置注册时的邮箱
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的常见操作_第14张图片

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

Git的常见操作_第15张图片

每日任务

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

新文件

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

Git的常见操作_第16张图片

推送

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

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

Git的常见操作_第17张图片

拉取/下载

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


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

Git的常见操作_第18张图片

常见错误

Authentication failed for

Git的常见操作_第19张图片

任何路径下输入都可以:

git config --system --unset credential.helper

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

failed to push some refs to…

Git的常见操作_第20张图片

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

邮箱是私有的报错

Git的常见操作_第21张图片
需要在码云上,把邮箱改成公开的才行
Git的常见操作_第22张图片

IDEA整合Git

在Gitee创建新的仓库

在网页中创建仓库名称:cgb2109-3

进入workspace

进入workspace,再进入你的项目目录,直接执行clone命令:

git clone https://gitee.com/cgblpx/cgb2109-3.git
也许:
需用执行其他的账号密码等命令

IDEA中整合Git步骤

--检查Git是否安装::Version Control-Git-Test-显示版本号即可
--装Gitee插件:Tools-Plugins-搜Gitee-install-去Installed里有就行
--配置Gitee信息:Tools-Version Control-GitHub-Add Account-输入账号密码-ok
--在IDEA里允许配置Git:VCS-enable...-ok
--创建远程仓库(在Git上)--设置仓库名--权限 必须公开 !!
--创建本地仓库(在磁盘上,并创建要提交的文件)--在该位置直接cmd--执行以下命令:
	git config --global user.name "cgblpx"
	git config --global user.email "[email protected]"	
	git config --list
	D:\Java\cgbgitprojects\javase>git init
	D:\Java\cgbgitprojects\javase>git add .
	D:\Java\cgbgitprojects\javase>git commit -m "aaaa"
	D:\Java\cgbgitprojects\javase>git remote add origin https://gitee.com/cgblpx/cgb2103test1.git
	D:\Java\cgbgitprojects\javase>git push  -u origin master

打开IDEA的工程中,你会发现直接就能提交或者拉取代码了

Git的常见操作_第23张图片

IDEA导入下载好的Git项目

Git的常见操作_第24张图片
Git的常见操作_第25张图片
Git的常见操作_第26张图片

你可能感兴趣的:(git,github)