Git_GitHub_远程仓库

article/2025/8/19 0:54:12

https://www.yiibai.com/git 


一、在GitHub上创建一个远程仓库 

 


 二、两种方式上传项目到 GitHub

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

1. 通过 ssh 上传项目

缺点:只能为一个账号设置

https://blog.csdn.net/qq_40794973/article/details/86681941#5%E3%80%81SSH%E6%97%A0%E5%AF%86%E7%99%BB%E5%BD%95%E9%85%8D%E7%BD%AE

ssh协议

什么是ssh?

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

基于密匙的安全验证

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

1.2. ssh密钥生成

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

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

$ cd ~
yuanyu@DESKTOP-0354J7H MINGW64 ~
$ pwd
/c/Users/yuanyu

 命令: ssh-keygen -t rsa

ssh-keygen命令解释:https://www.jianshu.com/p/d863d4e8f308 

如何在同一台电脑上使用两个github账户:

  • https://blog.csdn.net/wolfking0608/article/details/78512171 
  • https://blog.csdn.net/itmyhome1990/article/details/42643233

注:输入命名后 三个回车,就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

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

$ cd ~/.ssh/

这里的私钥,我们要保存好。公钥我们等会需要复制到 GitHub 中。

 1.3. 复制公钥到 GitHub 上,实现免密传输

这里的 Key是我们前面生成(ssh-keygen -t rsa)的公钥,我们用记事本打开复制到GitHub中即可。

 

1.4. 执行命令

创建远程库地址别名

  • git remote -v 查看当前所有远程地址别名
  • git remote add[别名][远程地址]

git remote add origin git@github.com:yuanyu1997/test.git

推送

git push[别名][分支名]

git push -u origin master 

注:-f 参数是强制推送的意思 

 

 

origin 是我们远程仓库的代号(https://github.com/yuanyu1997/test.git)这个相当于为我么的远程仓库取一个别名(仓库代号不好记),请看下面的演示

 

我们也可以删除这个 origin

 所以我们完全可以这样执行命令

  git push  -u git@github.com:yuanyu1997/test.git

 git push -u origin master 意思是把本地这个仓库推送到主分支(master )上,-u 可以不要

2. 通过 Https上传项目

直接在命令行中执行命令即可,中间会叫你输入用户名和密码

git remote add origin https://github.com/yuanyu1997/test.git
git push -u origin master


三、克隆远程仓库的项目

命令

  • git clone[远程地址]

 效果

  1. 完整的把远程库下载到本地
  2. 创建 origin 远程地址别名
  3. 初始化本地库

四、团队成员邀请

如果是同一个电脑,如果需要切换账号,我们需要手动清除Windows记住的密码

没有加入团队,克隆代码然后修改代码,提交到远程仓库中

 

被邀请的成员就会收到邀请信息,点击同意即可

加入团队后就可以正常的push项目了 


五、拉取操作 pull

现在有两个开发者,开发者(yuanyu1997)创建了项目,并且把项目push到了GitHub上了,然后也邀请另一个开发者(xiaohao1997)加入了团队,xiaohao1997克隆了yuanyu1997上传的项目,这个时候修改了代码在提交到远程仓库这个是没有问题的,应为我是在最新的基础上进行修改,然后在提交的。

拉取

  • pull=fetch+merge
  • git fetch[远程库地址别名][远程分支名]
  • git merge[远程库地址别名/远程分支名]
  • git pull[远程库地址别名][远程分支名]

由于另外一个开发者(xiaohao1997),修改并提交项目到GitHub上了,这个时候另外一个开发者(yuanyu1997)就需要拉取项目到本地

抓取和合并分开来操作,这样当我们操作很复杂的时候,我们可以暂时不对本地文件进行合并,等我们看好(重远程库下载的东西)了再去合并

当我们所做的修改不太容易产生冲突的时候直接使用 git pull 一键合并即可

git fetch origin master

查看我们下载的文件

 git checkout origin/master

切换回去 git checkout master

 把远程的 master 合并到本地的 master

git merge origin/master

 


七、解决冲突

要点

  • 如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉取。
  • 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。 

前面的例子,yuanyu1997 和 xiaohao1997 修改同一个文件同一个位置,两个都推送到远程仓库,这个时候只有先推送的人才能推送成功,失败的那个人必须先拉取下来然后才能够推送,这个时候拉取下来的文件既有自己的类容,也有推送成功的那个开发者修改的类容,这个时候 Git 就不能给我们做决定了,需要我们手动合并。

yuanyu1997  修改文件并且推送到GitHub 上

xiaohao1997  同样修改类容并推送到GitHub

xiaohao1997  这个时候已经比我们的远程库落后一个版本了,应为yuanyu1997  已经做了修改并提交到GitHub上了,但是xiaohao1997  还不知道,还是在旧版本的继承上做的修改

这个时候我们必须先拉取项目到本地

我们这个时候需要手动解决冲突,删除特殊符号,把文件改成我们需要的样子

 我这里就直接删除特殊符号

再次推送到远程仓库 

 注意:解决冲突以后,提交文件到本地库的时候不能带上文件名

 

为什么不是最新版就不能够接受推送呢?

类比

  • 债权人:老王
  • 债务人:小刘

 小刘就相当于GitHub

  • 老王说:10 天后归还。小刘接受,双方达成一致。
  • 老王媳妇说:5 天后归还。小刘不能接受。老王媳妇需要找老王确认后再 执行。

 八、跨团队的合作

我们有一个 huashan 项目,里面有一个项目经理 岳不群,和一个码农,现在项目经理该给码农一个任务,可是这个任务码农干不了,这个时候他就去找他的好基友东方不败帮忙

1. fork

 fork 成功后“东方不败就可以随便的修改这个fork的仓库了”

2. 克隆到本地,修改后提交到自己Fork的GitHub上 

“东方不败”Fork项目后,把项目克隆到本地,修改并提交到自己的远程仓库中 

 

 

 这个时候的修改还只是 “东方不败” Fork的项目

3. 发起 pull request 请求

 

 

 

 

这个时候“东方不败”就要发消息给自己基友的项目经理

 

 

 

点击回复消息,这个时候这两个人就可以隔空对话了

这个时候项目经理“岳不群”就可以审核文件

如果项目经理决定代码没有问题这个时候就可以进行合并

切回到 Conversation

 

 这个时候项目经理就可以把远程仓库的代码拉取到本地了


http://chatgpt.dhexx.cn/article/rVKWiQap.shtml

相关文章

5.git远程仓库的创建(http,ssh)

线上仓库的操作学习以Github为例。 一、线上仓库创建 进入github官网,选择创建远程仓库 圈出的部分为必填项,其余根据实际需要选择性补充: 点击create repository,确定创建 ,此时项目就已经创建好了 注意:仓库名要求…

Git远程仓库与本地仓库同步

1.在右上角个人头像那里找到设置,然后点击SSH and GPG keys 然后点击New SSH key 在配置SSH信息的时候,在这里把你安装git的时候的SSH公钥复制过来。(如果安装的时候没有选择其他路径,则会默认放置在C盘用户里面的一个.ssh文件里…

GIt远程仓库pull拉取代码

GIt远程仓库pull拉取代码 git教程可以参考之前的这篇文章使用git命令对gitee存放项目到仓库、切换分支以及合并分支教程 这篇文章主要说一下远程连接拉去并提交代码 如果你使用git clone <项目地址>拉取代码后更改无法提交的问题&#xff0c;可以使用以下解决方案 本地…

Git远程仓库使用

说明&#xff1a;使用Git&#xff0c;可以实现版本控制和协作开发。需要协作开发&#xff0c;当然需要建立一个Git代码托管的平台。目前可以使用GitHub、码云、GitLab等&#xff0c;码云相当于国内的GitHub&#xff0c;在国内访问速度高于GitHub&#xff1b;而GitLab是搭建私服…

Git远程仓库使用方法

目录 介绍 详细教程 1、创建远程仓库 2、在本地初始化仓库 3、关联远程仓库 4、提交代码 5、拉取到本地仓库 6、提交到Git仓库 5、将本地代码推送到远程仓库 介绍 远程仓库在协同开发中起着关键的作用&#xff0c;它提供了一个中央存储库&#xff0c;使多个开发者能够…

Git如何搭建远程仓库

文章目录 关于远程仓库版本(代码)托管服务平台 开始搭建1. 初始化本地git仓库2.gitee 创建远程仓库3.本地仓库关联远程仓库4.推送本地仓库分支至远程仓库5.在远程仓库合并分支5.1远程直接合并5.2解决合并冲突5.2.1 拉取到本地合并5.2.2 本地解决合并冲突 6.拉取&#xff08;下载…

从GIt远程仓库pull拉取代码

1.在本地新建一文件夹用来存放项目代码 2.进入该文件&#xff0c;右键选择 git bush here&#xff0c;打开命令窗后&#xff0c;输入初始化命令&#xff1a;git init 3.命令行&#xff1a;git remote add origin 后面是项目所在远程仓库地址&#xff08;不是远程分支名称&am…

git远程仓库的创建(养成好的习惯,小马教你提交代码到远程仓库中)

前沿&#xff1a; 在我的文章初步认识git中已经大概讲述了什么是git&#xff0c;没看过的可以在看一下呀&#xff08;&#x1f440;&#x1f440;&#xff09;http://t.csdn.cn/nujcR&#xff0c;在这里我们实现的了本地仓库的创建&#xff0c;但是好像还是不知道远程仓库是什么…

搭建Git远程仓库详细步骤(保姆级)

1、前言 简单说一下Git&#xff0c;它是分布式版本控制工具&#xff0c;分布式相对于集中式可以这样理解&#xff0c;集中式有一个服务器&#xff08;典型的SVN&#xff09;&#xff0c;我们在自己电脑上编辑完成的版本上传到服务器&#xff0c;版本V1-V2-V3这样叠加&#xff…

如何修改项目中Git远程仓库地址?

当开发过程中&#xff0c;遇到git远程仓库地址可能因git服务部署主机地址的变化而发生变化后&#xff0c;我们该如何快速修改。 方法一&#xff1a;通过git命令修改 1、进入项目文件夹&#xff0c;右键鼠标&#xff0c;点击【Git Bash Here】 2、输入命令【git remote -v】查…

GIT远程仓库(随笔)

目录 前言 一、GIt常见命令 二、概念原理 三、常见的代码托管平台 四、配置SSH公钥 五、操作 1、注册账号 2、在gitee中&#xff0c;创建远程仓库 3、Git命令创建本地仓库 4、Git命令创建第一个版本提交 5、Git命令添加远程仓库 6、推送 7、修改开源项目 ​编辑 8、…

Git远程仓库

三、远程仓库 分布式版本管理系统&#xff0c;可以是在多台主机上共同管理同一个版本库&#xff0c;而且各台主机上的版本库都是一致的&#xff0c;没有主次之分。 在实际工作中&#xff0c;往往使用一台服务器充当版本库的载体&#xff0c;这台服务器24小时开机&#xff0c;…

08_Git远程仓库

教程目录 01_版本控制概述 02_Git概述 03_Git下载和安装 04_Git底层原理解析 05_Git命令详解 - CRUD 06_Git命令详解 - 分支 07_Git命令详解 - 后悔药 08_Git远程仓库 一、远程仓库概念 什么是远程仓库 为了能在任意 Git项目上团队协作&#xff0c;你需要知道如何管理…

Git入门使用到远程仓库全指南

简介 本文是面向零基础者的Git入门教程&#xff0c;内容较为基础简单&#xff0c;主要来源于各种资料整合以及个人使用经验&#xff0c;仅作基本了解性介绍。内容基本涵盖Git常用操作&#xff0c;以各种命令为中心&#xff0c;逐一解释其用法和注意事项。另附在VScode利用其辅…

【Git】远程仓库

1 远程仓库的使用 1.1 查看远程仓库 在 Gitee 上创建一个新的仓库git_demo_04&#xff0c;并配置SSH免密登录。SSH可参考 生成SSH秘钥&#xff0c;Gitee 相关使用可参考 Gitee 帮助中心 使用git clone命令克隆git_demo_04仓库到本地&#xff0c;该令会自动将其添加为远程仓库…

取整函数的性质

1、定义&#xff1a;取整函数是一类将实数映射到相近的整数的函数。 2、分类&#xff1a;常用的取整函数有两个&#xff0c;分别是下取整函数和上取整函数。 3、形式&#xff1a; 下取整函数在数学中一般记作&#xff0c;在计算机科学中一般记作 floor(x)&#xff1b; 上…

取整函数

一、函数说明 对 double 而言&#xff0c;取整、取余的相关函数和运算符请参考下表&#xff1a; VB6.0C C# 说 明Int(x)floor(x)Math.Floor(x)floor表示地板&#xff0c;也就是将向下取整数&#xff0c;即返回最大的整数使得 Math.Floor(1.9) 返回 1 Math.Floor(1…

php 除法,php中如何除法取整

php中除法取整的方法&#xff1a;1、使用【round()】函数对浮点数进行四舍五入&#xff1b;2、使用【ceil()】函数向上舍入为最接近的整数&#xff1b;3、使用【floor()】函数向下舍入为最接近的整数。 php中除法取整的方法&#xff1a; 1. round&#xff1a;四舍五入 round()函…

Excel如何使用取整函数

如下图B列为随机录入的数据&#xff0c;现在想要将B列数据四舍五入保留两位小数 在C2单元格输入公式ROUND(B2,2) 将C2单元格下拉到底即可完成四舍五入保留两位小数。 如果想要保留整数&#xff0c;只需要将C2单元格公式改为ROUND(B2,0)&#xff0c;并下拉到底即可完成。 下面跟…

取整函数及其性质

1、取整函数定义及分类 取整函数是一类将实数映射到相近的整数的函数。 常用的取整函数有两个&#xff0c;分别是下取整函数和上取整函数。 下取整函数在数学中一般记作&#xff0c;在计算机科学中一般记作 floor(x)&#xff1b; 上取整函数在数学中一般记作&#xff0c;在…