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

Git-远程操作

目录

一、分布式版本控制系统

二、远程仓库

新建远程仓库:

设置用户名和邮箱:

向远程仓库推送:

拉取远程仓库:

给命令配置别名:

标签管理:

删除标签:

推送标签到远程:


一、分布式版本控制系统

我们⽬前所说的所有内容(⼯作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。⽽我们的 Git 其实是分布式版本控制系统!

可以简单理解为,我们每个⼈的电脑上都是⼀个完整的版本库,这样你⼯作的时候,就不需要联⽹了,因为版本库就在你⾃⼰的电脑上。既然每个⼈电脑上都有⼀个完整的版本库,那多个⼈协作的时候,只需把各⾃的修改推送给对⽅,就可以互相看到对⽅的修改了。分布式版本控制系统的安全性要⾼很多,因为每个⼈电脑⾥都有完整的版本库,某⼀个⼈的电脑坏掉了不要紧,随便从其他⼈那⾥复制⼀个就可以了。但这有个前提就是大家的设备要在同一个局域网内,当不再同一个局域网内时,两台电脑是无法进行互相访问的,或者是对方的电脑根本就没有开机,也是无法进行这些操作的。

因此,分布式版本控制系统通常也有⼀台充当“中央服务器”的电脑,但这个服务器的作⽤仅仅是⽤来⽅便“交换”⼤家的修改,没有它⼤家也⼀样⼲活,只是交换修改不⽅便⽽已。有了这个“中央服务器”的电脑,这样就不怕本地出现什么故障了。

二、远程仓库

Git 是分布式版本控制系统,同⼀个 Git 仓库,可以分布到不同的机器上。刚开始,只有⼀台机器有⼀个原始版本库,此后,别的机器可以 “克隆” 这个原始版本库,也可以推送代码到Git仓库,⽽且每台机器的版本库其实都是⼀样的,并没有主次之分。
⼀台电脑上也是可以克隆多个版本库的,只要不在同⼀个⽬录下,但这样没有意义,实际情况往往是找⼀台电脑充当服务器的⻆⾊,每天24⼩时开机,其他每个⼈都从这个“服务器”仓库克隆⼀份到⾃⼰的电脑上,并且各⾃把各⾃的提交推送到服务器仓库⾥,也从服务器仓库中拉取别⼈的提交。

在使用的时候,可以自己搭建一个Git仓库。当前学习阶段,可以先使用gitup管理平台,只要注册账号,就可以创建自己的远程仓库。

新建远程仓库:

1.创建远程仓库:

1.填写仓库名

2.仓库介绍

3.可以选择自己的仓库是开源的或私有

4.可以勾选初始化仓库,

选择语言:选择一个自己使用的语言,

.gitignore: 在⽇常开发中,我们有些⽂件不想或者不应该提交到远端,⽐如保存了数据库密码的配置⽂件,那怎么让 Git 知道呢?在 Git ⼯作区的根⽬录下创建⼀个特殊的 .gitignore ⽂件,然后把要忽略的⽂件名填进去,Git 就会⾃动忽略这些⽂件了。

可以在创建仓库的时候勾选上该文件,Git为你自动配置,也可以自己创建.gitignore文件,然后提交到远端即可。

Issue模版:

Pull Request模版:

点击创建。

刚创建的仓库有且只有⼀个默认的master分⽀。

可以自己创建分支

2.克隆远程仓库:

克隆远程仓库下载到本地,使用git clone命令,后面跟上远程仓库的地址

有这里中克隆方式:

前两种是最常用的,SSH 协议和 HTTPS 协议是 Git 最常使⽤的两种数据传输协议。SSH 协议使⽤了公钥加密和公钥登陆机制,体现了其实⽤性和安全性,使⽤此协议需要将我们的公钥放上服务器,由 Git 服务器进⾏管理。使⽤ HTTPS ⽅式时,没有要求,可以直接克隆下来。

使用HTTPS协议:

在Linux-ubuntu系统上:

HTTPS方式克隆成功。

使用SSL方式克隆:

由于复制的是同一个仓库,会发生名字冲突,要将刚复制过的文件先删除:

复制SSL地址:

克隆到“git test”中。..
git@gitee.com:权限被拒绝(公钥)。
致命:无法从远程存储库读取。请确保您拥有正确的访问权限,并且存储库存在。

使用SSL方式克隆时,第一次需要先配置公钥:

先执行下面这行代码:

公钥和私钥已经生成公钥:在/root/.ssh/id_rsa.pub文件中,根据路径找到,并复制公钥。

配置好公钥后,再执行克隆命令:

克隆远程仓库成功。

当我们从远程仓库克隆后,实际上 Git 会⾃动把本地的 master 分⽀和远程的 master 分⽀对应起来,并且,远程仓库的默认名称是 origin 。在本地我们可以使⽤ git remote 命令,来查看远程库的信息:

使用git remove -v查看更详细的信息:

显示的是向远程origin拉取和推送的地址。

设置用户名和邮箱:

向远程仓库推送:

向远程仓库推送一个文件:

通过git push命令,向远程推送内容:

git push [远程主机名] [本地分支名]:[远程分支名]
git push origin master:master# 如果本地分⽀名与远程分⽀名相同,则可以省略冒号:
git push <远程主机名> <本地分⽀名>
git push origin master

这里将本地master分支推送到远程origin主机的master分支,Git已经拉取了关联,可以使用git push命令进行推送。 

查看一下远程仓库:

代码已推送到了远端:

当要删除推送到远程的内容时,通过git push <y远程主机名> :<远程分支名>命令即可删除.

拉取远程仓库:

有时别人提交到仓库的内容,自己需要使用,可以拉取远程仓库内容,同步到自己的本地仓库.

可以通过点击远程仓库上的fork按钮,进行拉取,

也可以在自己的本地仓库终端使用git pull命令进行拉取.

git pull <远程主机名> <远程分⽀名>:<本地分⽀名>
git pull origin master:master# 如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。
git pull <远程主机名> <远程分⽀名>

给命令配置别名:

有时一些git的命令非常的长或非常复杂,可以通过给命令配置别名的方式,简化命令.

git config [--global] alias:别名  git原命令 //可以配置全局的,也可以单独对所在分支配置

给git status命令配置为git st:

git config --global alias:st status

标签管理:

对每次提交并推送到远程的以次项目,都可以设置一个标签,标签就相当于一个版本,可以通过标签回退到某次提交的版本.

创建标签:通过git tag 命令,即可创建标签:

git tag 标签名 //为当前分支创建一个标签

git tag命令,用于查看所有标签

默认标签是打在最新提交的 commit 上的.若想要为指定提交版本打标签,要先找到要打标签的commitID,然后通过 git tag 标签名 commitID 命令为指定版本打标签.

git还提供了带有说明的标签:

git tag -a [name] -m "XXX" [commit_id] //-a:标签名 -m:描述信息 要指定commitID

查看标签信息,通过git show命令:

git show 标签名 //查看指定标签的信息

删除标签:

即使标签打错了,也是可以删除的,因为标签值保存到了本地,不会自动推送到远程.

通过git tag -d命令删除标签:

git tag -d 标签名  //删除指定标签

推送标签到远程:

通过git push <远程主机名> 标签名 命令推送:

查看一下远程是否推送成功:

当一次打了很多标签时,可以通过git push origin --tags命令一次性推送到远程.

http://www.xdnf.cn/news/1377865.html

相关文章:

  • AI-Agent 深度科普:从概念到架构、应用与未来趋势
  • JVM之【Java对象在内存中的结构】
  • Linux--->网络编程(TCP并发服务器构建:[ 多进程、多线程、select ])
  • Linux 系统调优与CPU-IO-网络内核参数调优
  • MySQL InnoDB vs MyISAM
  • 深度学习——卷积神经网络CNN(原理:基本结构流程、卷积层、池化层、全连接层等)
  • LeetCode - 反转链表 / K 个一组翻转链表
  • day2_softmax回归的实现 李沐动手学深度学习pytorch记录
  • 神经网络学习笔记12——高效卷积神经网络架构MobileNet
  • PLC_博图系列☞基本指令”S_ODT:分配接通延时定时器参数并启动“
  • leecode-三数之和
  • 如何防御安全标识符 (SID) 历史记录注入
  • 【Linux实时内核机制】ww_rt_mutex 的contending_lock异常问题
  • wireshark解析FLV插件分享
  • Unity Shader unity文档学习笔记(二十一):几种草体的实现方式(透明度剔除,GPU Instaning, 曲面细分+几何着色器实现)
  • HTML5超详细学习内容
  • GPIO推挽和开漏的名称由来和本质含义
  • FactoryBean接口作用
  • 使用Stone 3D快速制作第一人称视角在线小游戏
  • 【PyTorch】基于YOLO的多目标检测项目(二)
  • 基于Cursor AI IDE的Vue3留言板系统实战:从零搭建到智能优化全流程
  • 《金融对账系统雪崩隐患的深度复盘与架构重生》
  • 从CTFshow-pwn入门-pwn40理解64位栈溢出不都需要堆栈平衡
  • 致远OA新闻公告讨论调查信息查询SQL
  • Linux操作系统——TCP服务端并发模型
  • 域名、ip、DSN、URL
  • 虚拟机逃逸攻防演练
  • 装饰器模式(C++python)
  • 如何提升素材检索效率?语义搜索在 DAM 中的应用效果全解
  • 广东省省考备考(第八十八天8.27)——判断推理(听课后强化训练)