git基础(1)

本文介绍了Git的基本概念,包括分布式与集中式版本控制的区别,以及如何在GitHub和Gitee这样的代码托管平台上进行代码上传、克隆、SSH密钥管理和版本控制。重点讲解了如何绑定本地仓库、添加公钥、解决push错误和版本回退等操作。
摘要由CSDN通过智能技术生成

1.git基础概念

版本控制:分布式版本控制(git)集中式版本控制(svn)

每个电脑都是一个主机。相互之间可以传送消息。分布式版本控制。也会有一个分布式版本控制系统服务器。服务器就是作为中转。

a可以给服务器推送代码,也可以给b推送。

2.服务器有三种

1)公司自己搭一个服务器

2)github

3)gitee

3.码云网站登录

代码托管平台
在这里插入图片描述

注册,记住用户名和设置邮箱

注意:用户名

在这里插入图片描述

在自己的git上面和码云平台进行绑定:

在这里插入图片描述在这里插入图片描述

4.上传主机ssh公钥到gitee代码托管平台

不是所有的人都能往仓库里面存代码,

本机和gitee使用shh协议进行加密传输,所以要把ssh公钥放到gitee账号,推送本机上的仓库代码到gitee仓库上的时候,ssh会进行密文校验,所以主机的ssh公钥要放到gitee。

ssh协议分为两个部分:加密和解密

公钥(公开的)私钥(自己的)。git用户端会把数据+私钥加密成为密文(加密后的数据推送给gitee)私钥加密,gitee获取到了密文,会解密成为明文,只有gitee知道公钥才能解密,公钥gitee用来解密

在这里插入图片描述

检查自己是否有ssh key。

在这里插入图片描述

如果没有,创建ssh key

在这里插入图片描述

添加公钥到gitee用户

在这里插入图片描述
28110047921.png&pos_id=img-ezixWIhL-1714399883381)

5.在gitee创建远程仓库

在这里插入图片描述

在这里插入图片描述

保存远程仓库地址

在这里插入图片描述

6.将远程仓库克隆到本地主机(自己的电脑)

创建一个文件作为本地仓的地址

在这里插入图片描述

注意:如果想要把别人的码云仓库克隆到本机,需要添加别人的公钥到远程仓

报错:

在这里插入图片描述

代码从工作区,需要add到暂存区,暂存区需要commit到主分支,放到版本库之后需要push到远程仓库

在这里插入图片描述

练习:在码云来下来的本地仓,创建文件readme.txt和1.txt推送到码云(要在仓库里面打开bash)

问题:
1.add后出现fatal: pathspec ‘1.txt’ did not match any files

pathspec来指定要操作的文件或目录

pathspec未匹配任何文件的原因:文件不存在,文件路径错误,文件名拼写错误,.gitifnore文件影响

在这里插入图片描述

把文件后缀名打开 查看,显示,文件扩展名

2.commit 后出现error: src refspec branch does not match any
error: src refspec master does not match any
error: failed to push some refs to ‘1.txt’

在这里插入图片描述

在这里插入图片描述

7.修改文件,然后把修改提交到Git版本库. git add *

在这里插入图片描述

8.版本回退(在版本库里面的版本)

首先,怎么查看版本呢
git log 打印日志。查看到版本号,只能查看版本库里面的操作历史

然后,git reset --hard +版本号,就回退到了版本1

原理:

在版本库里面有一个指针HEAD,这个指针指向最新的版本。当我们进行版本回退的时候,指针久指向别的版本,完成指针的回退

注意:只要你push远程仓,你的版本就被上传。当你版本回退的时候,远程仓里面也会有个head指向版本,也会同步回退。

在这里插入图片描述

问题:
$ git push -u origin master
To https://gitee.com/o-pang-hui/20240428-test.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘https://gitee.com/o-pang-hui/20240428-test.git’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: ‘git pull …’) before pushing again.

在这里插入图片描述

解决方案:

9.删除文件

文件没有提交远程仓,但是文件现在已经在分支上,add+commit

在文件管理器中删除文件,工作区和版本库的文件不一致,git status,会告诉你文件被删了

在这里插入图片描述

这个时候,你需要 git rm test.txt(把版本库的删了),然后commit,再推送到远程仓

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值