【Git使用 03】

创建远程仓库

  • 这里我们使用码云作为远程仓库: gitee.com

步骤:

1. 注册码云账号并登录

2. 创建一个自己的仓库

在这里插入图片描述


在这里插入图片描述

3.配置SSH连接密钥

  • 因为我们需要将本地仓库的代码上传到远程仓库中,所以为了安全,gitee会进行验证,如果不配置SSH连接密钥,则每次都需要输入密码。

配置方式:

  • 在本地仓库打开Git GUI here ,输入命令:
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"   #后面是邮箱
  • 然后一直按Enter键
    在这里插入图片描述

在这里插入图片描述

  • 会在电脑的用户目录中自动生成一个文件,文件中有一串代码,就是我们的密钥,打开该文件,复制密钥

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

  • 进入gitee里面,点击设置
    在这里插入图片描述
  • 安全设置中,配置SSH公钥
    在这里插入图片描述
  • 将上面的公钥复制放到这里,然后点击确认
    在这里插入图片描述
    在这里插入图片描述

4.将远程仓库和本地仓库进行连接

注意:这里的远端名称一般都叫做origin,所以直接写origin即可,当然其他的名字也可以,是自定义的,只是大家习惯叫origin.


仓库地址获取方式:
在这里插入图片描述

git remote add <远端名称> <仓库地址>

比如:

git remote add origin git@gitee.com/git_repository.git
  • 连接之后,可以使用命令git remote 查看是否连接成功

在这里插入图片描述

关于远程和本地仓库之间的操作

1. 将本地仓库的代码推到远程仓库中

使用命令:git push [-f] [--set-upstream] [远端名称] [本地分支名][:远端分支名]
表示将本地哪个分支上的代码推到哪个远程分支上,将本地仓库的代码推到远程中。
注意:

  • 如果远程分支名和本地分支名相同,则可以只写本地分支名
    如:git push origin master ,将本地master分支上的代码推到远程的master分支上
    • --set-upstream 推送到远端的同时,建立起和远端分支的关联关系。用于第一次推送时
      • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名
        • git push 将当前分支推送到已关联的远端分支
  • 可以使用git branch -vv来查看 本地分支与远程分支的关联关系

在这里插入图片描述

  • 一般的执行流程:
    • 先执行git add命令 :将代码从工作区提交到暂存区
    • 再执行git commit -m 命令:将代码从暂存区提交到本地仓库
    • 再执行git push 命令 :将本地仓库中的代码提交到远端仓库

2.从远程仓库克隆

  • 有时候就我们需要将远程仓库中的代码克隆到本地进行开发
  • 使用命令:git clone <仓库地址> [本地目录]
    注意:仓库地址还是gitee仓库的SSH地址,目录是自定义的,也就是将远程仓库中的代码克隆到本地哪个目录下。

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


3.从远程仓库中抓取和拉取

  • 为什么需要抓取和拉取?

  • 因为我们一般使用git是多人开发,类似于并行,比如说两个人同时开发,早上的时候都克隆了相同的代码到本地进行开发,甲开发的是A功能,乙开发的是B功能,甲开发的比较快,中午就开发完成了,然后将自己开发的代码push到了远程仓库,而乙开发的比较慢,晚上才开发完,如果他也直接进行push的话则会出错,因为此时远程的代码已经变了,而乙本地的日志保存的还是早上的时候克隆下来的日志,所以会报错,需要将本地的代码进行更新和远程仓库一致,再提交就不会报错。

  • 抓取和拉取的作用就是:更新本地仓库代码,保持和远程仓库一致

  • 情景:

  • A 早上开发的时候添加了一个文件file01.txt到自己的本地仓库
    在这里插入图片描述

  • 与此同时, B 早上开发的时候添加了一个文件file02.txt到自己的本地仓库
    在这里插入图片描述

  • 此时可以发现,他们俩的日志中,都没有对方修改的日志,只有自己提交的日志

  • A先提交自己的文件到远端仓库
    在这里插入图片描述
    在这里插入图片描述

  • 此时B再提交到仓库,则发现报错了
    在这里插入图片描述

原因:因为B再提交的时候,原来的远程仓库内容已经变了,但是B没有先同步到本地,这样提交肯定报错。

解决方法:有两种:
第一种:
先使用命令:git fetch [remote name] [branch name] ,将仓库更新获取到本地日志中

  • 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
  • 如果不指定远端名称和分支名,则抓取所有分支。
    在这里插入图片描述
    在这里插入图片描述
    第二步:将本地的master和远程的master分支进行合并,使用git merge指令进行合并
    在这里插入图片描述
    第三步:push即可

在这里插入图片描述

总结上述步骤:就是先将远程的代码更新到本地之后,再将此时本地的代码推到远程,也就是先执行 git fetch将内容日志更新到本地,再使用git merge将分支合并到本地,这样保证本地代码文件和远程能保持一致。

第二种:
使用命令:git pull [remote name] [branch name] 拉取
拉取命令:
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支。

4.删除远程仓库中的文件或者文件夹

  • 有时候我们可能需要将某些文件从远程仓库删除,如何删除呢?
  • 命令步骤:
    1.git rm -r --cached 文件名/文件夹名
    • -r : 表示递归删除
    • –cached : 加上该参数则只会删除远程仓库中的文件,而对于本地的是不会删除的
  1. git commit .:添加到本地仓库

  2. git push :直接推到远端
    注意:这里不需要add ,就可以直接删除


1.git rm -r 文件名/文件夹名

  • -r : 表示递归删除
  1. git add .:添加到暂存区
  2. git commit.:添加到本地仓库
  3. git push :直接推到远端

注意: 加不加参数 --cached的时候删除文件是有区别的,加了这个则删除时候不需要进行add操作,直接commit ,再push. 不加该参数的时候删除之后是需要先add操作,再commit,再push

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值