git 本地项目上传github或gitlab详解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: git 本地项目上传github或gitlab详解

Github 托管本地项目

文章目录

1. github 是什么

GitHub 是一个共享虚拟主机服务,用于存放使用 Git 版本控制的软件代码和内容项目。它由GitHub公司(曾称Logical

Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。


它还是什么?

  • 网站
  • 免费博客
  • 管理配置文件
  • 收集资料
  • 简历
  • 管理代码片段
  • 托管编程环境
  • 写作
  • 版本管理与软件部署

2. GitHub 与 Git 关系

Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如 Capistrano 和 Vlad the Deployer 这样的部署工具所使用。


GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

3. git 安装

windows 下载git工具:git bash 、git gui 、git cmd

linux环境下如果yum源有git包,

3.1 yum 安装

$ yum -y install git-all.noarch
$ git version
git version 2.27.0

    3.2 tar 安装

    1. 安装依赖
    sudo yum -y install make autoconf automake cmake perl-CPAN libcurl-devel libtool gcc gcc-c++ glibc-headers zlib-devel git-lfs telnet lrzsz jq expat-devel openssl-devel
    1. 安装 Git
    cd /tmp
    wget --no-check-certificate https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.38.1.tar.gz
    tar -xvzf git-2.38.1.tar.gz
    cd git-2.38.1/
    ./configure
    make
    sudo make install
    $ git --version          # 输出 git 版本号,说明安装成功
    git version 2.38.1

    4. git 配置

    1. 打开git bash,执行以下命令,配置git的用户名邮箱
    $ git config --global user.name "ghostwritten"
    $ git config --global user.email "1zoxun1@gmail.com"
    $ git config --list
    $ git config --global credential.helper store    # 设置 Git,保存用户名和密码
    $ git config --global core.longpaths true # 解决 Git 中 'Filename too long' 的错误

    我们会把非 ASCII 字符叫做 Unusual 字符。这类字符在 Git 输出到终端的时候默认是用 8 进制转义字符输出的(以防乱码),但现在的终端多数都支持直接显示非 ASCII 字符,所以我们可以关闭掉这个特性

    $ git config --global core.quotepath off

    其次,GitHub 限制最大只能克隆 100M 的单个文件,为了能够克隆大于 100M 的文件,我们还需要安装 Git Large File Storage,安装方式如下:

    $ git lfs install --skip-repo
    1. 设置SSH key(git中sshkey有何作用?)

    首先检查是否已生成密钥cd ~/.ssh,如果返回的ls有3个文件,则密钥已经生成。

    $ ssh-keygen -t rsa -C "1zoxun1@gmail.com"

    生成密钥

    id_rsa.pub的公钥内容复制 ,然后找到github的用户设置的列表中SSH and GPG keys选项,添加 new SSH key,随便起个名字,粘贴复制公钥。

    1832b220aa754cd18c504acc7686a560.png

    ssh -T git@github.com   #远程登录git

    5. 界面创建 github 仓库

    1832b220aa754cd18c504acc7686a560.png1832b220aa754cd18c504acc7686a560.png

    6. 上传本地项目到 github

    非常简单,起名字,描述库的作用功能,设置公有,私有。

    是否设置创建README,如果之前没有设置它,上传文件就会报错。

    否则执行以下命令:

    mkdir python-mysql
    cd  python-mysql
    git init
    echo "# github-roam" >> README.md
    git add README.md
    git commit -m 'first_commit'
    git log --oneline
    git status
    git remote add origin https://github.com/ghostwritten/python-mysql.git
    git push origin master

    7. 常见错误

    1. 错误1
    1.To https://github.com/Ghostwritten/test.git
     ! [rejected]        master -> master (fetch first)
    error: failed to push some refs to 'https://github.com/ghostwritten/python-mysql.git'
    git push origin master --force   #强制推送到库名下
    1. 错误2
    git remote add origin https://github.com/ghostwritten/python-mysql.git,出现错误:
      fatal: remote origin already exists

    则执行以下语句:

    git remote rm origin
    git remote add origin https://github.com/ghostwritten/python-mysql.git
    1. 错误3
    在执行git push origin master时,报错:
    error:failed to push som refs to.......
    则执行以下语句:
    git pull origin master
    先把远程服务器github上面的文件拉先来,再push 上去。
    相关实践学习
    如何在云端创建MySQL数据库
    开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
    全面了解阿里云能为你做什么
    阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
    相关文章
    |
    1月前
    |
    编解码 Oracle Java
    java9到java17的新特性学习--github新项目
    本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
    77 3
    |
    1月前
    |
    Java Shell 开发工具
    git集成IDEA,托管项目实现版本管理
    git集成IDEA,托管项目实现版本管理
    33 0
    |
    3月前
    |
    SQL JavaScript 前端开发
    Github 2024-08-05 开源项目周报 Top15
    根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
    116 2
    |
    3月前
    |
    人工智能 Rust JavaScript
    Github 2024-08-26 开源项目周报Top15
    根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
    126 1
    |
    3月前
    |
    Rust Dart 前端开发
    Github 2024-08-19 开源项目周报Top15
    根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
    110 1
    |
    3月前
    |
    JavaScript 前端开发 Go
    Github 2024-08-12 开源项目周报 Top14
    本周Github Trendings共有14个项目上榜,按开发语言汇总如下:Python项目7个,TypeScript项目5个,C项目2个,JavaScript项目2个,Go和Batchfile项目各1个。其中亮点包括开发者职业成长指南、Windows激活工具、ComfyUI图形界面、AFFiNE知识库、易采集可视化爬虫等项目,涵盖多种实用工具和开源平台。
    126 1
    |
    3月前
    |
    存储 JavaScript 前端开发
    Github 2024-07-29 开源项目周报Top15
    根据 Github Trendings 的统计,本周(2024年7月29日统计)共有15个项目上榜。按开发语言分类,项目数量如下:Python、Java、HTML 和 C 项目各有2项;TypeScript、JavaScript、Vue 和 Go 各有1项;另有1项非特定语言项目、1项 Dart 项目、1项 C++ 项目、1项 Rust 项目及1项 Jupyter Notebook 项目。这些项目涵盖了多种领域,如API开发、照片管理、PDF处理、AI技术等。
    62 1
    |
    3月前
    |
    Rust JavaScript 前端开发
    Github 2024-07-15 开源项目周报 Top15
    根据 Github Trendings 的统计,2024年7月15日当周共有15个项目上榜。以下是按开发语言分类的项目数量汇总:Python项目5个,非开发语言项目4个,JavaScript项目3个,TypeScript项目2个,Go、Solidity和Java项目各1个,Rust项目1个。此外,介绍了多个值得关注的项目,包括免费编程学习平台 freeCodeCamp.org、免费编程书籍和学习资源清单、免费 API 集合等,涵盖了不同编程语言和技术领域。
    54 1
    |
    3月前
    |
    人工智能 JavaScript API
    Github 2024-07-08 开源项目周报 Top15
    根据Github Trendings的统计,本周(2024年7月8日统计)共有15个项目上榜。按开发语言分类,Python项目最多,有6项;其次是C++和TypeScript,各有3项;Jupyter Notebook和JavaScript各2项;QML、非开发语言项目、Rust则各有1项。这些项目涵盖了多种领域,包括编程教育、API集合、语言模型、十六进制编辑器等。
    52 1
    |
    3月前
    |
    存储 安全 Java
    【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
    在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
    40 0
    【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私