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

Git远程仓库

Git远程仓库

  • 推送
  • 拉取
    • git fetch
    • git pull
  • 克隆

推送

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。那要怎么实现这种分布呢?我们可以找一台电脑充当服务器,也就是扮演远程仓库的角色,一直都处于开机运行状态。其他人都从这台服务器上的版本库中将项目克隆到自己电脑上,每个人都可以克隆相同的项目,没有主次之分。大家做好的项目也可以各自提交推送到服务器的远程仓库中。

为了创建远程仓库,可以自己搭建一台Git服务器,或者借助github或gitee平台进行实操。由于gitee是国内的代码托管平台,操作起来阻碍更小,因此这里使用gitee平台的仓库作为远程仓库。

我在gitee平台上创建了一个名为mmf的远程仓库,同时在本地电脑上创建了一个mmf空目录,并在mmf目录中创建git仓库:

git init  # 创建git仓库
touch test.txt  # 创建一个test.txt文件
git add test.txt  # 将文件添加到暂存区
git commit -m "add a test.txt file"  # 将文件提交至本地仓库

然后使用以下命令将远程仓库与本地仓库进行关联:

git remote add origin https://gitee.com/aibc-hp/mmf.gitgit remote add -- 这是Git的一个基础命令,用于在本地仓库的远程仓库列表中添加一个远程仓库origin -- 这是添加的远程仓库的名字,可以根据个人喜好命名,通常使用“origin”作为默认名称https://gitee.com/aibc-hp/mmf.git -- 这是添加的远程仓库的URL,指定了远程仓库的地址'''
这里的URL在结尾处添加了.git扩展名,这是因为大多数远程仓库服务提供商(如Gitee、GitHub等)要求在URL中包含.git扩展名来指示仓库的类型。通过执行该命令,Git会将指定的远程仓库添加到本地仓库的远程仓库列表中,并将其命名为origin,这样我们就可以使用origin来引用该远程仓库,进行推送、拉取等操作。
'''

建立本地仓库和远程仓库的连接后,我们便可以使用以下命令将本地仓库的提交推送到远程仓库:

git push -u origin mastergit push -- 这是Git的一个基础命令,用于将本地仓库的提交推送到远程仓库-u -- 这是一个可选参数,用于将本地分支与远程分支进行关联,使用该参数后,下次推送时可以省略远程仓库和分支的名称origin -- 这是远程仓库的名称,即之前使用git remote add命令添加的远程仓库master -- 这是本地仓库的分支名称,通常是主分支'''
通过执行该命令,Git会将本地仓库的提交推送到远程仓库的指定分支。如果使用了-u参数,Git还会将本地分支和远程分支进行关联,以便后续的推送和拉取操作可以更加简便。使用git push命令,实际上就是将本地当前的master主分支推送到了远程,并与远程的master主分支进行合并。
'''git push origin siam:object  # 将本地仓库的siam分支推送到origin远程仓库的object分支

如果添加远程仓库的时候地址写错了,或是想解除远程仓库与本地仓库的关联,可以使用git remote rm <name>命令。使用前,可以先用git remote -v查看远程仓库信息:

git remote -v  # 查看远程仓库信息
---------
origin  https://gitee.com/aibc-hp/mmf.git (fetch)
origin  https://gitee.com/aibc-hp/mmf.git (push)

然后根据远程仓库的名字来解除关联:

git remote rm origin  # 解除本地仓库与origin远程仓库的关联,即将origin从本地仓库的远程仓库列表中删除

注意: 这里这是解除了本地仓库与远程仓库的关联,并不是物理意义上的删除,远程仓库本身不会有任何影响。

拉取

我们想将远程仓库上的文件拉取下来,可以通过git fetchgit pull两个命令来进行操作。

git fetch

git fetch相当于是从远程仓库获取最新版本的项目到远程仓库的master主分支中,然后将远程的master主分支(包含最新版本的项目)拉取到本地仓库,但是不会自动合并到本地仓库内,也就是需要自己执行合并操作。

git fetch origin master  # 从远程仓库拉取最新版本的项目内容,origin是远程仓库的名称,master是远程仓库的分支'''
通过执行git fetch这个命令,Git会与远程仓库进行通信,检查远程仓库的master分支是否有新的提交。如果有新的提交,Git会将这些提交下载到本地,并更新远程跟踪分支(如origin/master)的位置。但是,它不会自动将这些更新合并到当前本地分支。
'''git merge origin/master  # 将远程的master合并到本地,origin/master是远程仓库的分支名称
git merge origin/master siam  # 将远程的master分支合并到本地的siam分支'''
通过执行这个命令,Git会将远程仓库的origin/master分支的更改合并到当前所在的本地分支。这将把远程仓库的最新提交应用到当前分支,使得当前分支与远程仓库的master分支保持同步。
'''

git pull

git pull相当于是git fetchgit merge两者的结合体,可以从远程仓库拉取最新版本的内容,并直接合并到本地仓库的master主分支。

git pull [origin master]  # []中是可选内容,指定拉取哪个远程仓库中的哪个分支,默认为master
git pull origin master  # 拉取origin远程仓库的master分支到本地,并自动将其合并到本地的当前分支
git pull origin object:siam  # 拉取origin远程仓库中的object分支到本地,并将其合并到本地的siam分支

小结:

  • git fetch只是获取远程仓库的更新,不会自动合并;而git pull则会获取远程仓库的更新并自动合并到本地的当前分支。
  • 使用git fetch可以更加灵活地查看远程仓库的更新情况,并决定何时将其合并到本地分支。而git pull则是一种快捷方式,适用于你希望立即将远程分支的更新合并到当前分支的情况。
  • 可以使用git branch命令来查看本地仓库的分支列表
  • 可以使用git branch -r命令来查看远程仓库的分支列表

克隆

git clone https://gitee.com/aibc-hp/mmf.git  # 将远程仓库mmf克隆到本地
http://www.lryc.cn/news/120037.html

相关文章:

  • Redis缓存设计
  • 华熙生物肌活:2023年版Bio-MESO肌活油性皮肤科学护肤指南
  • mysql索引介绍
  • 说一下什么是tcp的2MSL,为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间?
  • 更新spring boot jar包中的BOOT-INF/lib目录下的jar包
  • 纯前端 -- html转pdf插件总结
  • 数据结构和算法基础
  • JS二维数组转化为对象
  • 通过 EPOLL 解决客户端同时连接多服务器的问题
  • JavaScript数据结构【进阶】
  • jQuery编程学习3(jQuery 其他方法: jQuery 拷贝对象、 jQuery 多库共存、jQuery 插件)
  • jvm——垃圾回收机制(GC)详解
  • 计算机组成原理-笔记-第七章
  • 【Linux】网络基础2
  • ​可视化绘图技巧100篇进阶篇(四)-三维簇状柱形图(3D Clustered Bar Chart)
  • 架构设计第八讲:架构 - 理解架构的模式2 (重点)
  • Java中的Maven Shade插件是什么?
  • ffmpeg的bpp是什么?
  • 【C# 基础精讲】类和对象的概念
  • 微信ipad实现批量添加联系人及批量分组
  • Highcharts引入
  • 腾讯云轻量和CVM有什么区别?不都是服务器吗?
  • Android高通8.1 Selinux问题
  • python图片爬虫
  • SpringBoot系列---【SpringBoot在多个profiles环境中自由切换】
  • Transformer架构
  • TVS二极管失效分析
  • k8s --pod详解
  • 论文阅读---《Unsupervised ECG Analysis: A Review》
  • npm四种下载方式的区别