winows搭建远程仓库Github(linux通用)

news2024/11/22 12:06:59

winows搭建远程仓库Github(linux通用)

文章目录

  • winows搭建远程仓库Github(linux通用)
  • 创建远程仓库
  • 配置SSH
  • 克隆项目
  • 多人协同开发
  • 代码冲突
  • 标签
  • 分支

在这里插入图片描述

创建远程仓库

以下操作为演示在Github网站上创建远程仓库

1.登陆注册Github

2.创建仓库入口

-在这里插入图片描述

3.编辑仓库信息

在这里插入图片描述

4.仓库创建完成

5.查看仓库地址

在这里插入图片描述

作者的远程仓库地址 https://github.com/571290717

配置SSH

选择SSH操作

在这里插入图片描述

  • 如果某台电脑需要与Github上的仓库交互,那么就要把这台电脑的SSH公钥添加到这个Github账户上

  • 1.配置SSH公钥入口
    在这里插入图片描述

  • 2.生成SSH公钥

      ssh-keygen -t rsa -C "qiruihua@itcast.cn"
    

在这里插入图片描述

  • 3.配置SSH公钥
    在这里插入图片描述

在这里插入图片描述

  • 补充:删除旧的秘钥

    • 删除~/.ssh目录,这里存储了旧的密钥
      rm -r .ssh

SSH操作报错

解决方案为

eval “$(ssh-agent -s)”

ssh-add

在这里插入图片描述

!!!

Windows下配置git的ssh

https://blog.csdn.net/gregcsdn/article/details/125844019

下面就是多人协调办公了,如果你的公司有涉及git协调办公或者感兴趣的话就再往下学~

(个人觉得如果是个人开发者不涉及协同办公就算了,等需要学的时候在回来看就完了! \但是记得先收藏。。。)

克隆项目

  • 准备经理的文件 Desktop/manager/
  • 准备张三的文件 Desktop/zhangsan/

经理的工作

  • 立项:克隆远程仓库+配置身份信息+创建项目+推送项目到远程仓库

  • 1.克隆远程仓库的命令

      cd Desktop/manager/
      git clone https://github.com/qruihua/info.git
    
  • 2.克隆远程仓库到本地

在这里插入图片描述

  • 3.克隆成功后查看经理的文件
    在这里插入图片描述

  • 4.配置经理身份信息

      cd Desktop/manager/info/
      git config user.name '经理'
      git config user.email 'manager@itcast.com'
    

在这里插入图片描述

  • 5.创建项目

  • 6.推送项目到远程仓库

    
      # 工作区添加到暂存区
      git add .
      # 暂存区提交到仓库区
      git commit -m '立项'
      # 推送到远程仓库
      git push
    

在这里插入图片描述

  • 在 push 的时候需要设置账号与密码,该密码则是 github 的账号与密码

    • 如果在每次 push 都需要设置账号与密码,那么可以设置记住密码

      设置记住密码(默认15分钟):
      git config --global credential.helper cache
      如果想自己设置时间,可以这样做(1小时后失效):
      git config credential.helper 'cache --timeout=3600'
      长期存储密码:
      git config --global credential.helper store
      

      在以后的项目开发过程中,Pycharm 可以自动记住密码

张三的工作

  • 获取项目:克隆项目到本地、配置身份信息

  • 1.克隆项目到本地

      cd Desktop/zhangsan/
      git clone https://github.com/qruihua/info.git
    

在这里插入图片描述

  • 2.克隆成功后查看张三的文件
    在这里插入图片描述

  • 3.配置张三身份信息

      cd Desktop/zhangsan/info/
      git config user.name '张三'
      git config user.email 'zhangsan@itcast.com'
    

张三身份信息配置成功后即可跟经理协同开发同一个项目

多人协同开发

  • 1.代码编辑界面介绍:此处使用gedit做演示

    • 代码编辑界面左边为模拟经理的操作

    • 代码编辑界面右边为模拟张三的操作

    在这里插入图片描述

  • 2.模拟张三先编辑login.py文件代码

    • 进入张三本地仓库:cd Desktop/zhangsan/info

    • 编辑代码:num1 = 10

    • 本地仓库记录版本:git commit -am '第一个变量'

    • 推送到远程仓库:git push

      在这里插入图片描述
      在这里插入图片描述

  • 3.模拟经理后编辑login.py文件代码

    • 进入经理本地仓库:cd Desktop/manager/info/

    • 经理同步服务器代码:git pull

    • 编辑代码:num2 = 20

    • 本地仓库记录版本:git commit -am '第二个变量'

    • 推送到远程仓库:git push
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述

  • 4.模拟张三同步服务器代码

    • 本次可以把num2同步到张三的本地仓库

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tMPQogZL-1685436949802)(Git%E2%80%94%E2%80%94C%E7%AB%99%E6%9C%80%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B%EF%BC%8C%E4%B8%80%E7%AF%87%E5%AD%A6%E4%BC%9A%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93Github.assets/github%E5%BC%A0%E4%B8%89%E5%90%8C%E6%AD%A5num2.png)]

  • 5.按照以上2-3-4步骤循环操作,即可实现基本的协同开发

  • 6.总结:

    • 要使用git命令操作仓库,需要进入到仓库内部
    • 要同步服务器代码就执行:git pull
    • 本地仓库记录版本就执行:git commit -am '版本描述'
    • 推送代码到服务器就执行:git push
    • 编辑代码前要先pull,编辑完再commit,最后推送是push

代码冲突

  • 提示:多人协同开发时,避免不了会出现代码冲突的情况
  • 原因:多人同时修改了同一个文件
  • 危害:会影响正常的开发进度
  • 注意:一旦出现代码冲突,必须先解决再做后续开发

代码冲突演练

  • 1.张三先编辑login.py文件代码

    • 进入张三本地仓库:cd Desktop/zhangsan/info

    • 拉取服务器最新代码:git pull

    • 编辑代码:num3 = 30

    • 本地仓库记录版本:git commit -am '第三个变量'

    • 推送到服务器仓库:git push

    • 张三本地仓库和远程仓库代码如下:
      在这里插入图片描述
      在这里插入图片描述

  • 2.经理后编辑login.py文件代码

    • 进入经理本地仓库:cd Desktop/manager/info/

    • 编辑代码:num3 = 300

    • 本地仓库记录版本:git commit -am '第三个变量'

    • 推送到服务器仓库:git push

    • 以上操作会出现代码冲突

      • 提示需要先pull

    在这里插入图片描述

    • 提示冲突文件
      在这里插入图片描述

    • 冲突代码表现

    在这里插入图片描述

  • 3.解决冲突

    • 原则:谁冲突谁解决,并且一定要协商解决

    • 方案:保留所有代码 或者 保留某一人代码

    • 解决完冲突代码后,依然需要addcommitpush
      在这里插入图片描述
      在这里插入图片描述

    • 提示:如果张三执行pull没有影响,就算真正解决了冲突代码

补充:

  • 容易冲突的操作方式
    • 多个人同时操作了同一个文件
    • 一个人一直写不提交
    • 修改之前不更新最新代码
    • 提交之前不更新最新代码
    • 擅自修改同事代码
  • 减少冲突的操作方式
    • 养成良好的操作习惯,先pull在修改,修改完立即commitpush
    • 一定要确保自己正在修改的文件是最新版本的
    • 各自开发各自的模块
    • 如果要修改公共文件,一定要先确认有没有人正在修改
    • 下班前一定要提交代码,上班第一件事拉取最新代码
    • 一定不要擅自修改同事的代码

标签

  • 当某一个大版本完成之后,需要打一个标签

  • 作用:

    • 记录大版本

    • 备份大版本代码

模拟经理打标签

  • 1.进入到经理的本地仓库info

     cd Desktop/manager/info/
    
  • 2.经理在本地打标签

     git tag -a 标签名 -m '标签描述'
     例:
     git tag -a v1.0 -m 'version 1.0'
    

在这里插入图片描述

  • 3.经理推送标签到远程仓库

     git push origin 标签名
     例:
     git push origin v1.0
    

在这里插入图片描述

  • 4.查看打标签结果

在这里插入图片描述

  • 补充:删除本地和远程标签

      # 删除本地标签
      git tag -d 标签名
      # 删除远程仓库标签
      git push origin --delete tag 标签名
    

分支

在这里插入图片描述

  • 作用:
    • 区分生产环境代码以及开发环境代码
    • 研究新的功能或者攻关难题
    • 解决线上bug
  • 特点:
    • 项目开发中公用分支包括master、dev
    • 分支master是默认分支,用于发布,当需要发布时将dev分支合并到master分支
    • 分支dev是用于开发的分支,开发完阶段性的代码后,需要合并到master分支

模拟经理分支操作

  • 对比:操作分支前的代码

在这里插入图片描述

  • 1.进入到经理的本地仓库info

     cd Desktop/manager/info/
    
  • 2.查看当前分支

      git branch
    
    • 没有创建其他分支时,只有master分支

  • 3.经理创建并切换到dev分支

     git checkout -b dev
    

在这里插入图片描述

  • 4.设置本地分支跟踪远程指定分支(将分支推送到远程)

      git push -u origin dev
    
  • 5.经理在dev分支编辑代码

在这里插入图片描述

  • 6.管理dev分支源代码:addcommitpush

在这里插入图片描述
在这里插入图片描述

  • 7.dev分支合并到master分支

    • 提示:只有当dev分支合并到master分支成功,张三才能获取到num4

    • 7.1 先切换到master分支

        git checkout master
      
      

    在这里插入图片描述

    • 7.2 dev分支合并到master分支

        git merge dev
      

在这里插入图片描述

  • 7.3 经理推送合并分支操作到远程仓库

    • 合并分支默认在本地完成,合并后直接推送即可

      git push
      

    在这里插入图片描述

  • 8.张三同步经理合并后的num4

    • 只有当张三同步代码成功,分支合并才算成功

        cd Desktop/zhangsan/info/
        git pull
      

    在这里插入图片描述
    在这里插入图片描述

个人主页: https://571290717.github.io/
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/589479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux知识点 -- 进程概念(二)

Linux知识点 – 进程概念(二) 文章目录 Linux知识点 -- 进程概念(二)一、进程优先级1.概念2.进程中的优先级信息3.更改进程优先级4.进程切换 二、环境变量1.概念2.常见的环境变量3.环境变量相关命令4.通过代码获取环境变量5.环境变…

JDK相关知识

查看是否安装了jdk java -version 将输出当前系统上默认 Java 环境的版本信息,其中包括 JDK 的位数(64 位或 32 位)。如果输出中包括 “64-Bit” 或 “x64” ,则表示你的 JDK 是 64 位的;否则,它就是 32 位…

PackML 学习笔记

PackML 的官网 上如此描述PackML--- PackML是由OMAC开发并由ISA采用的自动化标准TR88.00.02,可以更轻松地传输和检索一致的机器数据。PackML的主要目标是鼓励整个工厂车间的通用“外观和感觉”,并支持和鼓励行业创新。 优点 这里的重点是通用“外观和感…

MySQL树状结构表查询通解

文章目录 前言一、数据准备二、代码实现三、案例使用1. 建立数据表实体类2. mapper文件3. 使用 四、总结 前言 ​ 最近做了一个中医药方面的项目,该项目分为游戏端和服务端。笔者负责的是服务端的开发。在服务端的业务中包含两部分:系统信息管理模块、游…

这是我见过对redis最直白的讲解,看完我哭了......

我是Redis 你好,我是Redis,一个叫Antirez的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库MySQL还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数…

0801向量及其线性运算-向量代数与空间解析几何

1 向量的概念 既有大小又有方向的量叫做向量(或矢量)。 表示 用有向线段表示向量: 向量大小:有向线段的长度向量方向:有向线段的方向 示例如下图1-1所示: 记法:字母上面加箭头 单字母&#x…

9.前后端的身份认证

1 web开发模式 开发模式有两种,一种是服务端直接返回html字符串,另一种是前后端分类 服务端直接返回html字符串是这样的 这样做的优缺点如下 优点 加载页面快,这样会让设备的能耗减小,对于移动端来讲更省电利于搜索引擎获取数…

北京筑龙吴英礼:ChatGPT在采购与招标中的应用

近日,由中国招标投标协会举办的“人工智能对招标采购数字化发展的机遇与挑战交流座谈会”在北京召开。北京筑龙CTO吴英礼受邀出席,围绕"ChatGPT在招标投标中的应用"进行探讨,从ChatGPT背后的的技术、ChatGPT助力招标投标行业数字化…

【C++】-8- string〔常见接口函数使用〕

文章目录 概览标准库中的string类「string类(了解)」﹝编码﹞ 「string类的常用函数接口」﹝1.string类对象的常见构造﹞﹝2.string类对象的修改操作﹞‹ c_str ›‹ npos ›‹ string结构 › ﹝3.string类对象的容量操作﹞‹ clear ›‹ reserve ›‹ r…

Pulsar 负载均衡与transaction_coordinator_assign

背景与现状 TC加载到哪个broker上取决于transaction_coordinator_assign-partition-${TC ID}分区加载到哪个broker上。 默认transaction_coordinator_assign有16个分区,因此默认有16个TC,我们需要根据集群机器/broker数目来设置合理的TC个数。 为了保证…

如何使用递归 Grep 命令在目录中搜索?

在 Linux 系统中,grep 是一个强大的文本搜索工具,可以用于在文件中查找指定的文本模式。当需要在目录及其子目录中搜索特定的文本时,可以使用递归 grep 命令来快速定位目标文件。本文将详细介绍如何使用递归 grep 命令来搜索目录中的文件。 递…

如何搭建第一个SpringBoot+MyBatis项目

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…

ChatGPT已能模仿任何写作风格,让你的自媒体快速起号

我认识的一两个技术大佬目前失业在家,压力不小。对于现在的就业市场来说,再找工作,高不成低不就。他们的薪资,一般企业无法承受,大厂岗位又在缩减。今年真正感受到了寒冬。 对于我们还有饭吃的程序员,现在不…

【Linux网络服务】Apache网页优化

Apache网页优化 一、网页压缩1.1网页压缩步骤 二、网页缓存三、隐藏版本信息五、Apache防盗链 一、网页压缩 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的…

如何通过自学成为一名白帽黑客(网安工程师)

从事网络安全这么多年,总是会被问到很多奇奇怪怪的问题: 「叔叔,我Steam账号被盗了,能帮忙找回吗?我给你发红包」 「我的手机被监控了,生活和工作受到了严重影响,该怎么解决?」 「…

学会这两件事,让你在人生路上走得更远

人生,就是一场不断前行,没有退路的旅行,也是一场不断醒悟的过程。 看透,然后醒悟;放下,然后幸福。 有些事,看淡就好;有些人,看穿就行。 不管世事如何艰难,只要…

Compose也能开发iOS了,快来体验~

前言 在之前,我们已经体验了Compose for Desktop 与 Compose for Web,目前Compose for iOS 已经有尚未开放的实验性API,乐观估计今年年底将会发布Compose for iOS。同时Kotlin也表示将在2023年发布KMM的稳定版本。 届时Compose-jb KMM 将实…

腾讯云4核8G服务器12M带宽支持多少人访问?

腾讯云轻量4核8G12M服务器配置446元一年,518元12个月,腾讯云轻量应用服务器具有100%CPU性能,系统盘为180GB SSD盘,12M带宽下载速度1536KB/秒,月流量2000GB,折合每天66.6GB流量,超出月流量包的流…

解锁接口关联测试新技能!HttpRunner教你如何轻松搞定。

目录 前言: 一、安装HttpRunner 二、编写测试用例 三、运行测试用例 四、实现接口关联测试 五、总结 前言: 在接口自动化测试中,一个常见的场景就是需要对多个接口进行关联测试,例如登录后获取token,再利用token…

如何自学黑客?零基础自学黑客需要多久?

问题一:黑客如何学起? 必须从学习者的角度来看,如果你是一个已经学过编程,通晓几门语言的人那么这个答案就会和一个从没有接触过的计算机,甚至连什么叫高级语言还不知道的人有所区别的对待。 这就像是登珠穆朗玛峰一…