前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >快速学习Git-远程仓库

快速学习Git-远程仓库

作者头像
cwl_java
发布于 2019-12-25 03:29:56
发布于 2019-12-25 03:29:56
1.3K00
代码可运行
举报
文章被收录于专栏:cwl_Javacwl_Java
运行总次数:0
代码可运行
添加远程库

现在我们已经在本地创建了一个Git仓库,又想让其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。

常用的远程仓库就是github:https://github.com/,接下来我们演示如何将本地代码同步到github。

在github上创建仓库

首先你得在github上创建一个账号,这个就不演示了。然后在github上创建一个仓库:

点击“create repository”按钮仓库就创建成功了。

Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。如果使用ssh方式就需要客户端先生成一个密钥对,即一个公钥一个私钥。然后还需要把公钥放到githib的服务器上。这两种方式在实际开发中都用应用,所以我们都需要掌握。接下来我们先看ssh方式。

ssh协议
什么是ssh

SSH 为 Secure Shell(安全外壳协议) 的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

基于密匙的安全验证

使用ssh协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

ssh密钥生成

在windows下我们可以使用 Git Bash.exe来生成密钥,可以通过开始菜单或者右键菜单打开Git Bash

git bash 执行命令,生命公钥和私钥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
命令: ssh-keygen -t rsa

执行命令完成后,在window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥:

ssh密钥配置

密钥生成后需要在github上配置密钥本地才可以顺利访问。

在key部分将id_rsa.pub文件内容添加进去,然后点击“Add SSH key”按钮完成配置。

同步到远程仓库

同步到远程仓库可以使用git bash也可以使用tortoiseGit

使用git bash

在仓库所在的目录(D:\temp\git\repository)点击右键选择“Git Bash Here”,启动git bash程序。

然后在git bash中执行如下语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote add origin git@github.com:sublun/mytest.git
git push -u origin master

注意:其中红色字体部分需要替换成个人的用户名。

如何出现如下错误:

可以先执行如下命令,然后再执行上面的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git remote rm origin
使用Tortoise Git同步

一、由于TortoiseGit使用的ssh工具是“PuTTY”git Bash使用的ssh工具是“openSSH”,如果想让TortoiseGit也使用刚才生成的密钥可以做如下配置:

Url:远程仓库的地址 推送URL:也是相同的 Putty密钥:选择刚才生成的密钥中的私钥

二、同步。在本地仓库的文件夹中单击右键,选择“Git同步”

从远程仓库克隆

克隆远程仓库也就是从远程把仓库复制一份到本地,克隆后会创建一个新的本地仓库。选择一个任意部署仓库的目录,然后克隆远程仓库。

使用git bash
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git clone git@github.com:sublun/mytest.git
使用Tortoise Git

在任意目录点击右键:

从远程仓库取代码

Git中从远程的分支获取最新的版本到本地有这样2个命令:

  1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge(合并代码)
  2. git pull:相当于是从远程获取最新版本并merge到本地

上述命令其实相当于git fetch 和 git merge

在实际使用中,git fetch更安全一些 因为在merge前,我们可以查看更新情况,然后再决定是否合并

如果使用Tortoise Git的话可以从右键菜单中点击“拉取”(pull)或者“获取”(fetch)

搭建私有Git服务器
服务器搭建

远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。 搭建Git服务器需要准备一台运行Linux的机器,在此我们使用CentOS。以下为安装步骤: 1、安装git服务环境准备

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc

2、下载git-2.5.0.tar.gz

  • 1)解压缩
  • 2)cd git-2.5.0
  • 3)autoconf
  • 4)./configure
  • 5)make
  • 6)make install

3、添加用户 adduser -r -c ‘git version control’ -d /home/git -m git 此命令执行后会创建/home/git目录作为git用户的主目录。

4、设置密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
passwd git

输入两次密码

5、切换到git用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su git

6、创建git仓库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git --bare init /home/git/first

注意:如果不使用“–bare”参数,初始化仓库后,提交master分支时报错。这是由于git默认拒绝了push操作,需要.git/config添加如下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[receive]
      denyCurrentBranch = ignore

推荐使用:git --bare init初始化仓库。

连接服务器

私有git服务器搭建完成后就可以向连接github一样连接使用了,但是我们的git服务器并没有配置密钥登录,所以每次连接时需要输入密码。 使用命令连接:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git remote add origin ssh://git@192.168.25.156/home/git/first

这种形式和刚才使用的形式好像不一样,前面有ssh://前缀,好吧你也可以这样写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ git remote add origin git@192.168.25.156:first

使用TortoiseGit同步的话参考上面的使用方法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
初学Git及简单搭建git服务器和客户端
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
拓荒者
2019/07/25
2.6K1
Git与Gitee的远程仓库建立
在windows下我们可以使用 Git Bash.exe来生成密钥,可以通过开始菜 单或者右键菜单打开Git Bash
Maynor
2021/04/09
1.2K0
远程仓库
  Git是分布式版本控制系统,同一个仓库可以分配到不同的机器上,一般我们都会把仓库克隆到远程仓库里,如果有条件可以自己搭建一个运行Git的服务器,现在还有许多免费的Git代码托管的服务器,下面我们以GitHub为例,建立属于自己的远程Git仓库。
艰默
2022/11/22
8250
Git与远程仓库之间的通讯与协作
SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前非常可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
名字是乱打的
2021/12/22
1K0
Git与远程仓库之间的通讯与协作
Git教程3(远程仓库)
  git是一个分布式版本控制系统,虽然远程仓库不是必须的,但是我们在开发过程中为了便于团队协同开发,所以我们还是会搭建一个远程仓库,本文我们将使用github作为我们的远程仓库来操作。GitHub是一个为git提供托管服务的服务器,我们只需要注册一个GitHub账号即可使用
用户4919348
2019/04/02
4500
Git教程3(远程仓库)
git安装教程 windows10_灯保姆安装公司
如果使用TortoiseGit的话可以从右键菜单中点击“拉取”(pull)或者“获取”(fetch)
全栈程序员站长
2022/10/03
1.3K0
git安装教程 windows10_灯保姆安装公司
Git - 连接 Github 远程仓库
本教程记录了本地Git与远程Github仓库连接的方法。设置成功后可以从远程仓库获取代码、将本地代码推送到远端。 准备工作 申请Github账号 基础Git语法知识 本地安装好Git bash运行环境 建立远程仓库 登录Github账号后点击右上角加号建立自己的仓库,名称自拟。 此处以test为例。 配置 SSH 秘钥 创建SSH密钥 在Git bash中执行命令: ssh-keygen -t rsa -C "abc@163.com" #此处填自己注册GitHub的邮箱 没有
为为为什么
2022/08/04
1.1K0
Git - 连接 Github 远程仓库
Git的使用(二):远程仓库
本地创建Git仓库适合自己一个人完成工程,但是实际情况中我们需要其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。常用的远程仓库就是github:https://github.com。
code随笔
2020/04/14
5420
Git的使用(二):远程仓库
Git关联远程仓库
前面我们介绍的所有操作都是在本地仓库完成的,本文我们主要来看看如何和远程仓库进行交互,为了方便起见,这里远程仓库我们选择GitHub。 本文是Git系列的第五篇,了解前面的文章有助于更好的理解本文:---- ---- 配置SSH KEY SSH KEY的配置不是必须的,不配置的话我们就只能使用HTTPS协议,这样每次提交时要输入用户名密码,略麻烦,所以还是配置一下。配置SSH KEY的原理很简单,采用非对称加密方式生成公钥和私钥,公钥告诉GitHub,私钥留在自己电脑上(私钥不可泄露),当我们向GitHub
江南一点雨
2018/04/02
1.3K0
Git关联远程仓库
使用TortoiseGit,设置ssh方式连接git仓库
ssh-keygen -t rsa //可以生成密钥,然后将公钥添加到仓库设置里面就可以直接用命令行git clone pull push....使用了。
战神伽罗
2019/07/24
8.6K0
【Git】TortoiseGit(小乌龟)配置SSH和使用
(在我们执行git pull等一些操作的时候,会提示你它不知道你是谁,你就需要配置name和email.)
陶然同学
2023/10/14
5.8K0
【Git】TortoiseGit(小乌龟)配置SSH和使用
SourceTree使用详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决)
  俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有SourceTree、Github Desktop、TortoiseGit,综合网上的一些文章分析和自己的日常开发实践心得个人比较推荐开发者使用SourceTree,因为SourceTree同时支持Windows和Mac,并且界面十分的精美简洁,大大的简化了开发者与代码库之间的Git操作方式。该篇文章主要是对日常开发中使用SourceTree可视化管理工具的一些常用操作进行详细讲解。
追逐时光者
2020/06/24
27.9K0
SourceTree使用详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决)
Git!从零开始连接远程仓库
因为在下是苦bee大学僧,经常去教室上课,mac又是放在宿舍里的,所以有些非单一场景独占的掩饰有时是mac终端,有时是Windows Git Bash,这两者除了外观不一样,基本操作都是一样的~~
用户10551528
2023/05/09
1.3K0
Git!从零开始连接远程仓库
ssh key与git/github生成密钥
2. git/github生成密钥并通过   操作分为本地电脑配置和github网站配置
用户10196776
2022/11/22
2.4K0
ssh key与git/github生成密钥
在centos上搭建git服务器并自动同步代码
CentOS安装Git实现多人同步开发 centos中GIT服务器搭建及使用密钥连接
拓荒者
2019/03/15
2.1K0
在centos上搭建git服务器并自动同步代码
Git服务器搭建简明教程
本文详解在Ubantu 16下搭建Git服务器,力求让读者知其所以然,仅需安装Git和ssh,而无需其他软件。
全栈程序员站长
2022/11/09
1.8K0
Git服务器搭建简明教程
GIT_服务器与本地环境构建
很多yum源上自动安装的git版本为1.7,这里手动编译重新安装 1:安装依赖包 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 2:删除已有的git yum remove git 3:下载git源码,包文件存放在usr/src目录下 cd /usr/src wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz 4:解压git安装包 tar -zxvf git-2.8.3.tar.gz cd git-2.8.3 5:配置git安装路径 ./configure prefix=/usr/local/git/ 6:编译并且安装 make && make install 7:查看git版本号 git --version 8:将git指令添加到bash中 vi /etc/profile 在最后一行加入 export PATH=$PATH:/usr/local/git/bin 生效配置文件 source /etc/profile
飞天小子
2018/08/31
1K0
GIT_服务器与本地环境构建
Git的安装与使用教程(超详细!!!)「建议收藏」
git add xx 命令可以将xx文件添加到暂存区,如果有很多改动可以通过get add -A .来一次添加所有改变的文件。注意 -A 选项后面还有一个句点。git add -A 表示添加所有内容,git add . 表示添加新文件和编辑过的文件不包括删除的文件;git add -u 表示添加编辑或者删除的文件,不包括新添加的文件。
全栈程序员站长
2022/08/11
16.7K0
Git的安装与使用教程(超详细!!!)「建议收藏」
[Git] 分布式版本控制 & 远程仓库协作
我们之前所有的操作,比如 git init 创建仓库,git add, git commit, git branch, git checkout, git merge 等等,都是针对本地版本库进行的。这个本地版本库就在你自己的电脑硬盘上,包含了完整的项目历史记录。
DevKevin
2025/06/11
1150
[Git] 分布式版本控制 & 远程仓库协作
GIt-远程仓库(特性)
如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别,并没有体现出Git的特性,今天我们来学习Git的特性之一远成仓库。
翎野君
2023/05/12
2150
相关推荐
初学Git及简单搭建git服务器和客户端
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档