Git 远程仓库

Git远程仓库 文章目录一、添加远程仓库1.1、创建远程仓库1.2、关联远程仓库1.3、配置SSH密钥二、从远程仓库克隆2.1、创建远程仓库2.2、克隆远程仓库 一、添加远程仓库 之前我们仅仅是在本地创建了一个Git本地仓库,这里我们再在GitHub创建一个Git远程仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作开发。 1.1、创建远程仓库 首先登陆GitHub,然后在右上角找到“New repository”按钮,创建一个新的仓库 在Repository 阅读详情

如果我们做的东西只是在本地供自己用的话,就不需要跟网络打交道,也不需要远程仓库这样的东西了。

但是如果我们是在一个项目组中,或者做的东西想跟别人分享呢,我们就必须学习一下怎么使用远程仓库。

远程仓库的概念,其实在网络的某台服务器上,也有着一个Git仓库,跟我们本地的其实是一模一样的,对于服务器的管理员来说,其实也是一个本地的Git仓库。

像GitHub,和现在优快云和OSChina的Code等,都为我们提供了这样的空间供我们存放自己的项目,在项目组内部也可以利用GitLab自己搭建一个Git服务器,来作为项目的远程仓库使用。

我学习Git,就是从Git clone这个命令开始的,才发现去拉取开源项目的代码回来看,是可以如此方便的。

我在优快云上面放了一个Android项目,它的Git地址如下:

https://code.youkuaiyun.com/foolsheep/todo.git

那么我可以利用git clone命令将其下载到对应的目录中来。

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace
$ ls -al
总用量 28
drwx------+ 1 Administrators None   0 六月 19 23:15 .
drwx------+ 1 SYSTEM         SYSTEM 0 六月 18 16:17 ..

 克隆远程仓库


现在test_workspace是个空目录,下面我们使用git clone命令:

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace
$ git clone https://code.youkuaiyun.com/foolsheep/todo.git
Cloning into 'todo'...
remote: Counting objects: 183, done.
remote: Compressing objects: 100% (119/119), done.
remote: Total 183 (delta 49), reused 179 (delta 49)
Receiving objects: 100% (183/183), 1.40 MiB | 323 KiB/s, done.
Resolving deltas: 100% (49/49), done.

我们可以看到利用git clone命令之后,会从上面的地址将整个todo项目给复制到本地了。

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace
$ ls -al
总用量 32
drwx------+ 1 Administrators None   0 六月 19 23:16 .
drwx------+ 1 SYSTEM         SYSTEM 0 六月 18 16:17 ..
drwxr-xr-x+ 1 linmiansheng   None   0 六月 19 23:16 todo

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace
$ cd todo

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ ls -al
总用量 54
drwxr-xr-x+ 1 linmiansheng   None     0 六月 19 23:16 .
drwx------+ 1 Administrators None     0 六月 19 23:16 ..
drwxr-xr-x+ 1 linmiansheng   None     0 六月 19 23:16 .git
-rw-r--r--  1 linmiansheng   None   333 六月 19 23:16 .gitignore
drwxr-xr-x+ 1 linmiansheng   None     0 六月 19 23:16 .settings
-rw-r--r--  1 linmiansheng   None  2041 六月 19 23:16 AndroidManifest.xml
-rw-r--r--  1 linmiansheng   None 21422 六月 19 23:16 ic_launcher-web.png
drwxr-xr-x+ 1 linmiansheng   None     0 六月 19 23:16 libs
-rw-r--r--  1 linmiansheng   None   781 六月 19 23:16 proguard-project.txt
-rw-r--r--  1 linmiansheng   None   664 六月 19 23:16 project.properties
-rw-r--r--  1 linmiansheng   None    10 六月 19 23:16 README.md
drwxr-xr-x+ 1 linmiansheng   None     0 六月 19 23:16 res
drwxr-xr-x+ 1 linmiansheng   None     0 六月 19 23:16 src

而且在todo项目里面,我们可以看到生成了.git这样的一个Git结构目录。
在之前,我们是利用git init的命令来初始化一个git结构目录的,所以可以想像到git clone命令
应该是先做了git init的操作,然后再去服务器上抓取了对应的数据的。

此时,我们可以利用git remote命令来查看一下当前项目配置有哪些远程仓库。

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote
origin

可以看到存在一个远程仓库,origin,这是Git为clone下来的远程仓库所使用的默认的名字。
也可以指定 -v 参数来查看对应的远程地址。

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote -v
origin  https://code.youkuaiyun.com/foolsheep/todo.git (fetch)
origin  https://code.youkuaiyun.com/foolsheep/todo.git (push)

添加远程仓库

如果要添加一个新的远程仓库,可以使用 git remote add <项目名> <远程仓库地址>,

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote add volley https://github.com/adamrocker/volley.git

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote -v
origin  https://code.youkuaiyun.com/foolsheep/todo.git (fetch)
origin  https://code.youkuaiyun.com/foolsheep/todo.git (push)
volley  https://github.com/adamrocker/volley.git (fetch)
volley  https://github.com/adamrocker/volley.git (push)

可以看到,此时在本地配置中添加多了一个volley的远程仓库。
不过到这里,也就是在配置中增加了而已,并没有进行实际的操作,到这里,其实也可以发现
git clone 命令也为我们实现了 git remote add origin <克隆地址>的操作,对吧。这样才会将对应的远程仓库添加到我们的配置中。

从远程仓库抓取数据(失败)

接下来,我们可以利用git fetch 命令来从远程仓库中抓取数据,如下:

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git fetch volley
warning: no common commits
remote: Reusing existing pack: 1469, done.
Receiving objects:   2% (30/1469), 324.00 KiB | 7 KiB/s

。。。这个速度真是有点慢。

这样,我们就将远程仓库的数据抓取到我们本地了。

需要记住一点,fetch命令只是将远程仓库的数据抓取到我们本地,它并不会将数据自动地整合到我们的分支上。

这个分支,太慢了,还是把它删了。

远程仓库本地改名

在Git中,可以利用git remote rm将远程仓库给删除掉,不过在此之前,我们先学习一下rename,也就是改变远程仓库在本地的项目名称。

刚才是volley,现在我们可以将其改成volley_slow,如下:

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote rename volley volley_slow

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote -v
origin  https://code.youkuaiyun.com/foolsheep/todo.git (fetch)
origin  https://code.youkuaiyun.com/foolsheep/todo.git (push)
volley_slow     https://github.com/adamrocker/volley.git (fetch)
volley_slow     https://github.com/adamrocker/volley.git (push)

可以看到,其名字已经变成volley_slow了。

删除远程仓库在本地的配置

好了,现在我们可以把它给删掉了。

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote rm volley_slow

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote -v
origin  https://code.youkuaiyun.com/foolsheep/todo.git (fetch)
origin  https://code.youkuaiyun.com/foolsheep/todo.git (push)

从远程仓库抓取数据(成功)

接下来,我们重新添加一个远程仓库吧,然后直接抓取数据:

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git fetch lmswxdev
Username for 'https://code.youkuaiyun.com':
Password for 'https://sheepjtgjfc@163.com@code.youkuaiyun.com':
warning: no common commits
remote: Counting objects: 1598, done.
remote: Compressing objects: 100% (1045/1045), done.
remote: Total 1598 (delta 551), reused 1384 (delta 431)
Receiving objects: 100% (1598/1598), 7.95 MiB | 296 KiB/s, done.
Resolving deltas: 100% (551/551), done.
From https://code.youkuaiyun.com/foolsheep/lmswxdev
 * [new branch]      dev        -> lmswxdev/dev
 * [new branch]      master     -> lmswxdev/master

有些Git仓库设置了权限,需要输入用户名跟密码,之后,我们就将这个项目的数据给抓取下来了。

还是同样一句话,要记得,此时只是抓取数据下来,我们并没有将抓来的数据整合到我们的当前分支中。

在这里,又发现了,git clone 也实现这个操作啊,它把数据都抓取下来了。

远程分支

远程仓库的分支叫做远程分支,通过branch命令,我们可以看到当前项目下的各分支:

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git branch
* master

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git branch -r
  lmswxdev/dev
  lmswxdev/master
  origin/HEAD -> origin/master
  origin/master

不加-r参数,显示的是本地的分支。

指定-r(remote)参数的,显示的则是远程分支。

可以发现远程分支都是以 <仓库名>/<分支名> 在本地显示出来的。

抓取下来之后,就可以把远程分支也当做本地分支来看待,所不同的,你没有办法将你的改变推送到远程仓库,如果没有权限的话。

推送到远程仓库

如果我们拥有权限的话,我们可以利用push命令,将在本地的提交(commit)给推送到远程仓库上,

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git push origin master
Username for 'https://code.youkuaiyun.com':
Password for 'https://code.youkuaiyun.com':

fatal: Authentication failed

如果没有权限,就没有办法了。

push的语法如下:

git push <远程仓库名> <远程分支名>

不过其完整的命令应该是

git push <远程仓库名> <本地分支名>:<远程分支名>

比如将本地的dev分支推送到远程的master分支,我们就可以使用下面的命令,如下:

git push origin dev:master

而本地分支名如果置空,同时也没有“:”号的话,就等同于:

git push origin master:master

删除远程分支

此如果“:”存在,本地分支号为空的话,如下:

git push origin :master

这表明要将本地的空分支推送到远程的master分支上,这就会删掉远程的master分支。切记!

查看仓库信息

我们还可以利用show命令,来查看本地配置上,远程仓库的信息,如下:

linmiansheng@linmiansheng-PC /cygdrive/f/test_workspace/todo
$ git remote show origin
* remote origin
  Fetch URL: https://code.youkuaiyun.com/foolsheep/todo.git
  Push  URL: https://code.youkuaiyun.com/foolsheep/todo.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

关于git的远程管理就到这里,结束。



Git远程仓库深入学习之(一):Git远程仓库与远程分支 接触Git远程仓库很久了,一直对某些概念模模糊糊,平时也没有很多用到,借此机会彻底弄懂 1.远程仓库与本地仓库的对应关系 说到对应关系,是指在多仓库的环境下,我理解这一对应关系的来源是repo的manifests文件例如: <manifest> <remote name="middleware/reponame" fetch="http://netaddre... 阅读详情

相关推荐

手把手解决Git克隆卡在receiving objects的坑(含SSH配置技巧)

本文详细解决Git克隆卡在receiving objects的问题,提供从基础配置到高级技巧的全面解决方案,包括调整Git参数、分阶段克隆策略、SSH配置优化等,特别适合处理大仓库或网络不稳定的情况。

perl8的博客 1591

git clone卡在Receiving objects

最后将git版本降低后才解决的。

szw的博客 6456

git创建新项目。本地仓库合并到远程仓库

首先先在git上创建一个远程仓库 在本地创建项目。 cd 到本地项目中 git init 生成本地仓库,出现下面这一行代表本地仓库创建成功 Initialized empty Git repository in /Users/user/Desktop/prod/.git/ git remote add origin https://gitee.com/HuanFei...

luoxianpeng_的博客 1946

Git 推送项目新内容

Git的基本操作与常用命令,上篇写的是在github上添加本地的SSH Key密钥,现在来写推送新代码。一、远程库的克隆在GitHub中我们找到当前项目的git地址,将其复制并在git bash中运行,git clone git@github.com:vgbhfive/learngit.git注意,将命令中的ssh是我们刚刚复制的地址。如此一来,当git bash中出现receiving objec

vgbhfive's Blog 1094

【vivado PG学习】1 PG168:7 Series FPGAs Transceivers官方配置方法学习笔记

介绍: The 7 series FPGAs Transceivers Wizard LogiCORE™ IP 自动创建配置7系列fpga 收发器的HDL封装。向导可以配置一个或多个支持行业主流标准的高速串行收发器。或者从零开始支持各种自定义协议。 功能: 创建配置7系列fpga 收发器的HDL封装。 自动对模拟设置进行配置。 预定义了提供Aurora 8B/10B, Aurora 64B/66B, CEI-6G,DisplayPort, Interlaken, Open Base StationAr..

w0shishabi的博客 5万+

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件

liang007dudu的博客 1万+

完美解决pod setup超级慢以及失败的问题

今天在mac上执行pod setup特别慢,只有十几k每秒,Receiving object 文件还贼大,关键是时间长了还报错 error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly 网上搜了一下...

qq_42283150的博客 6033

git clone一直卡在Receiving objects: 0% 该如何解决

把git版本从2.47换到2.42就水灵灵地解决了问题!

xxxx1801的博客 1864

MT9V034摄像头学习笔记(一)_mt9v034摄像头循迹代码(1)

函数名称:uint8_t SCB_RegRead(uint8_t Device,uint8_t Address,uint16_t *Data)* 函数名称:uint8_t SCB_RegWrite(uint8 Device,uint8 Address,uint16 Data)* 函数名称:uint8 SCCB_SendByte(uint8 Data)* 函数名称:uint8 SCCB_ReadByte(void)* 修改时间:2018年3月4日。* 修改时间:2018年3月4日。

2401_87555661的博客 907

DNF单机版搭建全攻略:从零开始到局域网联机(含常见问题解决)

本文提供详细的DNF单机版搭建指南,从环境配置到局域网联机设置,涵盖服务端安装、数据库配置及常见问题解决方案。适合新手和有经验的玩家,帮助快速搭建专属游戏服务器,重温经典游戏体验。

weixin_30832143的博客 847

【Git】远程仓库

常用代码托管服务 GitHub 地址: https://github.com/ 特点: GitHub 是一个面向开源及私有软件项目的托管平台,只支持Git作为唯一的版本库格式进行托管,因此命名为GitHub。它提供了丰富的协作功能,如pull request、issue跟踪、项目管理等。 码云(Gitee) 地址: https://gitee.com/ 特点: 码云是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快。它适合国内开发者使用,并提供了类似于GitHub的功能。

咖喱年糕的博客 1447

让 PyCharm 代码“发光”:高亮插件与特效全攻略

PyCharm 作为一款强大的 Python IDE,支持多种插件让代码“发光”——无论是动态输入特效、彩虹括号,还是霓虹主题,都能让你的代码脱颖而出!进入 File → Settings → Editor → Color Scheme → Rainbow Brackets。进入 File → Settings → Appearance & Behavior → Material Theme。进入 File → Settings → Editor → Color Scheme → General。

qq_43580271的博客 3835

Git关联远程仓库

前面我们介绍的所有操作都是在本地仓库完成的,本文我们主要来看看如何和远程仓库进行交互,为了方便起见,这里远程仓库我们选择GitHub。 本文是Git系列的第五篇,了解前面的文章有助于更好的理解本文: 1.Git概述 2.Git基本操作 3.Git中的各种后悔药 4.Git分支管理 配置SSH KEYSSH KEY的配置不是必须的,不配置的话我们就只能使用HTTPS协议,这样每次提交时要

江南一点雨的专栏 5万+

Spring AI 项目实战(五):Spring Boot + AI + DeepSeek + Redis 实现聊天应用上下文记忆功能(附完整源码)

本文介绍了如何基于Spring Boot 3.2、Spring AI 1.0.0-M4、DeepSeek API和Redis构建具备上下文记忆功能的智能聊天应用。项目采用现代化技术栈,包括Java 17、Maven、Lombok等,实现了智能对话、会话管理、异常处理等核心功能。文章详细讲解了环境搭建、配置管理(含Redis和AI服务集成)、核心组件设计(如消息实体、控制器和服务层实现),以及完整的项目结构。该项目提供了美观的Web界面和REST API,支持对话上下文存储(通过Redis实现)和系统监控,可

博客 829

单片机:实现简单的时间片轮询调度(附完整源码)

单片机:实现简单的时间片轮询调度(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 384

本地Git仓库同步到Bitbucket 远程Git仓库

前言远程Git仓库,可以这样理解:不在本地的Git仓库,这不是废话嘛?!本地仓库内容可以和多个远程仓库同步,本地仓库出问题或者远程仓库其中一个有问题,那么剩余的仓库还是可以使用的,这就是分布式管理的魅力所在 ! O(∩_∩)O~说了那么多废话,下面我们开始具体的操作:(1) 先在github.com或bitbucket.org 创建一个仓库,仓库名就是项目名(一般有依赖工程,都放在这个项目名里面的)

lue2009的专栏 9254

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

git远程仓库管理

总结:创建远程仓库:可以通过在代码托管平台(如GitHub、GitLab)上创建仓库,也可以通过在本地使用git命令初始化远程仓库。关联本地仓库与远程仓库:使用命令git remote add origin 将本地仓库与远程仓库关联起来。推送代码到远程仓库:使用命令git push -u origin 将本地代码推送到远程仓库。克隆远程仓库:可以使用命令git clone 将远程仓库克隆到本地。

Flying_Fish_roe的博客 1141

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

git添加远程仓库

在本地建立了一个项目,是从一个origin的远程仓库克隆下来的,但是这个是自己用来学习的项目,想提交到自己的github中建立的项目上去,这就要用到remote了,可以使用git remote add [name] [github项目地址] 步骤如下: 1、使用remote -v 查看当前有哪些远程仓库,如图: 2、使用git remote add MyGH https://github

leedaning的专栏 7385

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

git :如何创建远程仓库

git :如何创建远程仓库 一、执行下面的命令创建仓库。使用命令"git --bare init"(bare汉语意思是:裸,裸的)初始化的版本库,不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;而使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面​​​​​​​。...

海月汐辰 4577

Git之远程仓库

之前我们使用的都是本地git仓库来进行管理文件的。但git其实是一个分布式版本控制器,我们之前只使用了git的版本控制功能,却没有体现出分布式!同一个git仓库,可以克隆到不同的机器上,并且每一个机器上都是一个完整的git仓库,如果两个开发人员对代码进行了修改,想要其他人看见,只需要将自己的修改提交,并推送到远程,让另一方重新拉取最新的代码即可。

xsc2004zyj的博客 922

git 查看远程仓库信息

文章目录查看远程仓库分支同步远程分支查看远程仓库log查看远程仓库信息 查看远程仓库分支 查看电脑本地仓库的分支: git branch 查看本地和远程仓库的所有分支: git branch -a 查看远程仓库的分支: git branch -r 同步远程分支 https://blog.youkuaiyun.com/qq_45467083/article/details/108529813 git fetch 将本地分支与远程保持同步 git checkout -b 本地分支名x origin/远程分支名x 拉取

我的blog屋 1579

git 创建远程仓库

1.创建一个git仓库 $ mkdir gittest $ cd gittest/ $ git init Initialized empty Git repository in /home/xxx/workspace/code_celloct/gittest/.git/ 2.想仓库添加一个文件并提交到本地 $ echo "first file" >> README $ ls

haomcu的专栏 8万+

Git远程仓库的应用

首先了解详情请点击此处观看廖雪峰老师的官网 我是安装廖雪峰老师写的,只为了做详细笔记参考,同时更清楚的学习 目录导航二、Git远程仓库连接1.配置传输密钥2.创建Github远程仓库,及推送3.克隆远程库到本地 二、Git远程仓库连接 因为Github是一个免费的远程仓库,所以,我们就拿Github为例 要先创建一个自己的Github账号 1.配置传输密钥 因为本地仓库要上传至Github仓库,需要标识,所有就要SSH来识别这是本人上传。 首先看自己的用户目录下有没有隐藏文件.ssh。若有就跳过下面命

小白的进化之路 667
上一篇: Git 分支管理
下一篇: Git 工作流程
linmiansheng
博客等级 码龄20年 507粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值