当前位置: 首页 > news >正文

Git远程操作(三)

引入

每一台电脑都可以克隆了中央服务器的代码仓库,每一台电脑进行开发,开发完毕后推送到中央服务器这个远程仓库

建立远端仓库

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

关于issue模版文件

对于其他观察者,他发现了代码仓库的一些问题,可以通过Issue文件向管理者反馈。
在这里插入图片描述
在这里插入图片描述

Pull Request模版文件

开发者在某一个分支进行开发,当开发完毕时,需要合并到主分支master,这时不能直接进行合并,应该提交一个合并的申请单给仓库管理员审核,内容包括合并原因,合并内容等等,一旦管理员统一,开发者就可以进行合并操作。

在这里插入图片描述

关于.gitignore文件

在日常开发中,我们有些文件不想或者不应该提交到远端,比如保存了数据库密码的配置文件,那么如何让git知道呢?在git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,git就会自动忽略这些文件了,git也不会去追踪这些文件。
在这里插入图片描述
可以在.gitinore文件中可以写入 *.xxx 即忽略所有后缀为 .xxx 的文件。

克隆远程仓库

git clone <远程仓库链接>

git中用于将远程仓库完整复制到本地的基础命令,常用于首次获取项目代码。它会在本地创建一个与远程仓库同名(或指定名称)的文件夹,并自动完成初始化、拉取代码、关联远程仓库等一系列操作。
在这里插入图片描述
在这里插入图片描述

注意: 不能在本地git仓库所在的目录下执行该命令

使用https方式进行克隆

直接git clone <远程仓库链接>即可

使用SSH方式克隆仓库

我们需要添加公钥到远端仓库,否则,服务器会拒绝我们的clone链接

  1. 创建SSH Key。在用户目录下,看看有没有.ssh 目录,若有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,跳转到下一步,若没有需要建立SSH Key:
ssh-keygen -t rsa -C "gitee中注册的邮箱"

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

  1. 建立id_rsa和id_rsa.pub这两个文件后,打印cat id_rsa.pub,看到许多内容,全部复制下来,粘贴到如下地方。
    在这里插入图片描述
    在这里插入图片描述

  2. 最后,通过git clone git@gitee.com:syaobin/remote-gitcode.git 进行克隆远程仓库(这时权限放开了)。
    在这里插入图片描述

remote指令

git remote
git remote -v

git remote列出当前本地仓库已关联的所有远程仓库的名称(默认远程仓库通常命名为 origin)。
git remote -v -v 是 --verbose(详细模式)的缩写,不仅显示远程仓库名称,还会列出每个远程仓库对应的拉取(fetch)和推送(push)地址。
例输出结果:

origin    https://github.com/your-name/your-repo.git (fetch)
origin    https://github.com/your-name/your-repo.git (push)
upstream  https://github.com/original-owner/original-repo.git (fetch)
upstream  https://github.com/original-owner/original-repo.git (push)

每行对应一个远程仓库的操作地址:(fetch) 是拉取代码的地址,(push) 是推送代码的地址(通常两者相同)。

向远程仓库推送

在这里插入图片描述
如何将本地仓库的内容推送到远程仓库:进行一次push操作
这里并不是把本地仓库的所有内容推送到远程仓库,而是仅仅将一个分支推送到远程仓库的一个分支,是分支与分支之间的交互。

push命令

git push <远端仓库名> <本地仓库分支名>:<远端仓库分支名>
# 若本地分支名与远程分支名相同,可简化为:git push -u <远程仓库名> <分支名>

注意:推送时注意user.name与user.email应该与远程仓库的相同。
在这里插入图片描述
例子

syb@VM-8-5-ubuntu:~/remote-gitcode$ touch file
syb@VM-8-5-ubuntu:~/remote-gitcode$ vim file
syb@VM-8-5-ubuntu:~/remote-gitcode$ git add .
syb@VM-8-5-ubuntu:~/remote-gitcode$ git commit -m "create a new file"
[master da4f26a] create a new file1 file changed, 1 insertion(+)create mode 100644 file
syb@VM-8-5-ubuntu:~/remote-gitcode$ git push origin master:master 

在这里插入图片描述
推送成功!

-u选项

git push -u 命令(-u 是 --set-upstream 的缩写),作用是 “推送代码 + 同时建立本地分支与远程分支的跟踪关系”,后续推送就可以简化为git push
命令示例:

# 格式:git push -u <远程仓库名> <本地分支名>:<远程分支名>
# 若本地分支名与远程分支名相同,可简化为:git push -u <远程仓库名> <分支名>
git push -u origin feature/test

执行后,Git 会:

  1. 将本地 feature/test 的代码推送到远程 origin 的 feature/test 分支,并且建立两者的跟踪关系。
  2. 后续再推送该分支时,直接输入 git push 即可(无需再指定远程和分支)。

:在一开始clone远程仓库时,远端仓库的master分支与本地仓库的master分支就已经建立起跟踪关系,所以一开始 git push 默认行为就是 git push origin master:master

拉取远程仓库

远程仓库比本地仓库新时,我们需要更新本地仓库:进行pull操作

pull命令

在这里插入图片描述

git pull <远端仓库名> <远端仓库分支名>:<本地仓库分支名>

用于从远程仓库拉取指定分支代码并合并到本地指定分支的命令(注意:分支顺序是「远程分支:本地分支」,与 git push 的「本地:远程」相反)。
在这里插入图片描述
这里进行了下载远端仓库的数据,这里也可以看出是 fast-forward 合并模式,实际上pull操作的作用是:拉取+合并


文章转载自:

http://hi0K5WMt.bkyLg.cn
http://tUdLtUoE.bkyLg.cn
http://jlSiGQqC.bkyLg.cn
http://rh4jpNLN.bkyLg.cn
http://VeExbuMW.bkyLg.cn
http://HqTaVwvG.bkyLg.cn
http://ohrjVl8O.bkyLg.cn
http://c6FiCqqi.bkyLg.cn
http://q4wZ3be8.bkyLg.cn
http://120z5mED.bkyLg.cn
http://xMR4Lkhp.bkyLg.cn
http://E5jNseJQ.bkyLg.cn
http://dISxje5c.bkyLg.cn
http://Tnsmm29L.bkyLg.cn
http://GG4qk1jk.bkyLg.cn
http://ehNsXl2s.bkyLg.cn
http://oJrB4C6X.bkyLg.cn
http://WSiDaSXc.bkyLg.cn
http://vutBg3Zp.bkyLg.cn
http://druFTSbd.bkyLg.cn
http://qPnjAOWd.bkyLg.cn
http://AU0cyo2s.bkyLg.cn
http://8K8Q8mcn.bkyLg.cn
http://R3Acw1zX.bkyLg.cn
http://cFp0Ax41.bkyLg.cn
http://UeP5Q7De.bkyLg.cn
http://jMLVBXYF.bkyLg.cn
http://ZTsKer3c.bkyLg.cn
http://AXZoEin2.bkyLg.cn
http://2oDSQlrM.bkyLg.cn
http://www.dtcms.com/a/378617.html

相关文章:

  • 深入解析Spring AOP核心原理
  • 虫情测报仪:通过自动化、智能化的手段实现害虫的实时监测与预警
  • Python快速入门专业版(二十二):if语句进阶:嵌套if与条件表达式(简洁写法技巧)
  • 研发文档分类混乱如何快速查找所需内容
  • Java Web实现“十天内免登录”功能
  • CH347使用笔记:CH347在Vivado下的使用教程
  • 【linux内存管理】【基础知识 1】【pgd,p4d,pud,pmd,pte,pfn,pg,ofs,PTRS概念介绍】
  • 详解mcp以及agent java应用架构设计与实现
  • 硬件开发2-ARM裸机开发2-IMX6ULL
  • 电商网站被DDoS攻击了怎么办?
  • Java NIO的底层原理
  • QT 常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
  • MATLAB2-结构化编程和自定义函数-台大郭彦甫视频
  • 鸿蒙的编程软件的介绍
  • 鸿蒙审核问题——Scroll中嵌套了List/Grid时滑动问题
  • REDPlayer 鸿蒙原生视频播放库组件介绍与使用指南
  • HarmonyOS 应用开发深度解析:ArkUI 声明式 UI 与现代化状态管理最佳实践
  • redis 入门-1
  • Json-rpc通信项目(基于C++ Jsoncpp muduo库)
  • TODO的面试(dw三面、sqb二面、ks二面)
  • Vibe Coding实战项目:用Qwen3-Coder做了个AI跳舞视频生成器
  • Vue 封装Input组件 双向通信
  • 【混合开发】进阶到【大前端++】
  • ZooKeeper Java客户端与分布式应用实战
  • 【复习】计网每日一题---传输层无连接不可靠服务
  • 2025年秋招答疑:AI面试如何破解在线作弊难题?
  • KafKa01:在Windows系统上安装Kafka
  • 【Big Data】Amazon S3 专为从任何位置检索任意数量的数据而构建的对象存储
  • C++:模版进阶
  • 【Canvas与旗帜】圆角红面白边蓝底梅花五星旗