Git和GitCode使用(从Git安装到上传项目一条龙)

第一步

菜鸟教程-Git教程
点击上方链接,完成Git的安装,并了解Git 工作流程,知道Git 工作区、暂存区和版本库的区别

第二步

GitCode官方帮助文档-SSH 公钥管理
点击上方链接,完成SSH公钥设置

第三步(GitCode的官方引导命令解释,可结合第一步的Git教程理解)

Git 全局设置(按序执行)

git config --global user.name "bfydyjs"
  • 作用:使用 git config 命令来配置 Git 的相关设置,–global 选项表示这是一个全局配置,意味着在你系统上的所有 Git 仓库都会使用这个配置。user.name 是设置提交代码时显示的用户名,这里将用户名设置为 “bfydyjs”。
  • 影响:之后你在任何 Git 仓库进行提交操作时,提交记录中显示的作者姓名就会是 “bfydyjs”。
git config --global user.email "bfydyjs@noreply.gitcode.com"
  • 作用:同样使用 git config --global 进行全局配置,user.email 用于设置提交代码时显示的邮箱地址,这里将邮箱设置为 “bfydyjs@noreply.gitcode.com”。
  • 影响:在后续的提交记录中,除了作者姓名,还会显示这个邮箱地址。在一些代码托管平台(如 GitHub、GitCode 等),邮箱地址会关联到你的账户,方便平台识别提交者的身份。

创建一个新仓库(按序执行)

git clone https://gitcode.com/bfydyjs/opengait.git
  • 作用:从 gitcode.com 上克隆 bfydyjs 用户的 opengait 仓库到本地。克隆完成后,会在当前目录下创建一个名为 opengait 的文件夹,其中包含远程仓库的所有文件和版本历史。
  • 可能出现的问题:
    网络问题:如果网络连接不稳定或者无法访问 gitcode.com,克隆操作会失败。
    权限问题:若你没有权限访问该仓库,会收到认证失败的提示。
cd opengait
  • 作用:进入克隆下来的 opengait 项目文件夹,以便后续对项目文件进行操作。
  • 可能出现的问题:若克隆过程中出现问题,没有成功创建 opengait 文件夹,执行该命令会提示 “没有那个文件或目录”。
echo "# opengait" >> README.md
  • 作用:向 README.md 文件末尾追加一行内容 # opengait。README.md 文件通常用于对项目进行简要说明。
  • 可能出现的问题:若 README.md 文件不存在,会先创建该文件再追加内容;若没有写入权限,会提示权限不足。
git add README.md
  • 作用:将 README.md 文件添加到 Git 的暂存区,意味着该文件的更改已被标记,准备提交到本地仓库。
  • 可能出现的问题:若 README.md 文件不在当前 Git 仓库管理范围内,或者文件名拼写错误,会提示找不到该文件。
git commit -m "add README"
  • 作用:将暂存区中的 README.md 文件更改提交到本地仓库,并添加一条提交说明 “add README”,方便后续查看和理解该提交的内容。
  • 可能出现的问题:若没有正确配置 Git 的用户名和邮箱,会提示需要先配置这些信息才能提交。
git branch -m main
  • 作用:将当前所在的分支重命名为 main。在较新的 Git 版本中,默认的主分支名称通常为 main。
  • 可能出现的问题:若当前分支已经是 main 分支,再次执行该命令不会有实际效果。
git push -u origin main
  • 作用:将本地 main 分支上的更改推送到远程仓库的 main 分支。-u 选项用于设置上游分支,这样后续使用 git push 或 git pull 时,就无需再指定远程仓库和分支名称。
  • 可能出现的问题:
    权限问题:若你没有权限向远程仓库推送更改,会收到认证失败的提示。
    冲突问题:若远程仓库的 main 分支有新的更改,而本地分支没有合并这些更改,会出现冲突,需要先解决冲突才能推送。

推送现有的文件(按序执行)

cd existing_folder
  • 作用:切换到已存在的本地文件夹 existing_folder 中。这里的 existing_folder 是你本地存放项目文件的目录,你需要将其替换为实际的文件夹名称。
  • 示例:如果你的项目文件存放在 my_project 文件夹中,命令则为 cd my_project。
git init
  • 作用:在当前目录下初始化一个新的 Git 仓库。执行该命令后,Git 会在当前目录下创建一个隐藏的 .git 文件夹,用于存储版本控制所需的元数据和对象数据库。
git remote add origin https://gitcode.com/bfydyjs/opengait.git
  • 作用:将本地仓库与远程仓库建立关联。origin 是远程仓库的默认别名,git@gitcode.com:bfydyjs/opengait.git 是远程仓库的 SSH 地址。
  • 注意:你需要确保已经在 gitcode.com 上创建了对应的仓库,并且本地的 SSH 密钥已经添加到 gitcode.com 的账户中,否则在后续推送时会出现认证失败的问题。
git add .
  • 作用:将当前目录下的所有文件和文件夹添加到 Git 的暂存区。暂存区是 Git 中一个中间区域,用于准备提交的文件。
  • 注意:. 表示当前目录下的所有文件和文件夹,如果你只想添加特定的文件或文件夹,可以将 . 替换为具体的文件或文件夹名称。
git commit -m "Initial commit"
  • 作用:将暂存区中的文件提交到本地仓库。-m 选项用于指定提交的说明信息,这里的 “Initial commit” 表示这是第一次提交。提交说明应该简洁明了,能够描述本次提交的主要内容。
git branch -m main
  • 作用:将当前分支的名称修改为 main。在较新的 Git 版本中,默认的主分支名称通常为 main,而不是之前的 master。
git push -u origin main
  • 作用:将本地仓库中的 main 分支推送到远程仓库的 main 分支。-u 选项的作用是设置上游分支,这样以后使用 git push 或 git pull 时就无需再指定远程分支和本地分支。

推送现有的 Git 仓库(按序执行)

cd existing_repo
  • 作用:切换到已存在的本地仓库目录 existing_repo。你需要将 existing_repo 替换为实际的本地仓库文件夹名称。
  • 示例:若本地仓库文件夹名为 my_project,则使用 cd my_project。
git remote rename origin old-origin
  • 作用:将当前本地仓库关联的名为 origin 的远程仓库重命名为 old - origin。这样做是为了后续添加新的远程仓库地址,避免名称冲突。
  • 可能出现的问题:若本地仓库没有名为 origin 的远程仓库,会出现错误提示。可使用 git remote 命令查看当前本地仓库关联的远程仓库名称。
git remote add origin https://gitcode.com/bfydyjs/opengait.git
  • 作用:为本地仓库添加一个新的名为 origin 的远程仓库,其地址为 https://gitcode.com/bfydyjs/opengait.git。
  • 可能出现的问题:如果新的远程仓库地址无效,或者你没有访问该仓库的权限,后续操作会失败。同时,若已经存在名为 origin 的远程仓库(尽管之前重命名过,但可能其他操作又添加了),会出现错误提示。
git push -u origin --all
  • 作用:将本地仓库中的所有分支推送到新的 origin 远程仓库,并使用 -u 选项将这些分支与远程仓库的对应分支进行关联。这样后续使用 git push 和 git pull 时,就无需再指定远程仓库和分支名称。
  • 可能出现的问题:如果本地分支和远程分支存在冲突,需要先解决冲突才能推送。另外,如果没有访问新远程仓库的权限,推送会失败。
git push -u origin --tags
  • 作用:将本地仓库中的所有标签推送到新的 origin 远程仓库,并建立关联。标签通常用于标记特定的版本。
  • 可能出现的问题:同样,若没有权限访问远程仓库或者标签存在冲突,推送会失败。

最后

  • 自己多尝试,熟能生巧

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

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

相关文章

基于 WebAssembly 的 Game of Life 交互实现

一、前言 在前期的实现中,我们使用 Rust 编写核心逻辑,并通过 WebAssembly 将其引入到 Web 环境中,再利用 JavaScript 进行渲染。接下来,我们将在这一基础上增加用户交互功能,使模拟过程不仅能够自动演化,…

【keil】单步调试

一、步骤 1、打开stc-isp软件 2.打开keil仿真设置,选择对应的单片机型号 3.点击将所选目标单片机设置为仿真芯片,点击下载,按一下单片机打下载按钮 4.此时已经将仿真程序下载到单片机 5.此时点击options,找到debug选择STC Montor 51 Driv…

c++弱指针实现原理

在 C 中,弱指针(std::weak_ptr)是一种特殊的智能指针,其核心目标是‌解决 std::shared_ptr 的循环引用问题‌,同时不增加对象的引用计数。它的实现原理基于与 std::shared_ptr 共享的 ‌控制块(Control Blo…

【ManiSkill】环境success条件和reward函数学习笔记

1. “PickCube-v1” info["success"]:用于指示任务是否成功完成 布尔型张量,在环境的evaluate()方法中计算并返回: "success": is_obj_placed & is_robot_static这确保了机器人不仅能将物体准确放置在目标位置&am…

用空闲时间做了一个小程序-二维码生成器

一直在摸鱼中赚钱的大家好呀~ 先向各位鱼友们汇报一下情况,目前小程序已经有900的鱼友注册使用过。虽然每天都有新的鱼友注册,但是鱼友增长的还很缓慢。自从国庆前的文字转语音的工具上线到现在已经将近有1个月没有更新小程序了。但是今天终终终终终于又…

31天Python入门——第14天:异常处理

你好,我是安然无虞。 文章目录 异常处理1. Python异常2. 异常捕获try-except语句捕获所有的异常信息获取异常对象finally块 3. raise语句4. 自定义异常5. 函数调用里面产生的异常补充练习 异常处理 1. Python异常 Python异常指的是在程序执行过程中发生的错误或异…

PyQt6实例_批量下载pdf工具_使用pyinstaller与installForge打包成exe文件

目录 前置: 步骤: step one 准备好已开发完毕的项目代码 step two 安装pyinstaller step three 执行pyinstaller pdfdownload.py,获取初始.spec文件 step four 修改.spec文件,将data文件夹加入到打包程序中 step five 增加…

Axure项目实战:智慧城市APP(完整交互汇总版)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:智慧城市APP 主要内容:主功能(社保查询、医疗信息、公交查询等)、活动、消息、我的页面汇总 应用场景&#xff…

Appium Inspector使用教程

1.下载最新版本 https://github.com/appium/appium-inspector/releases 2.本地启动一个Appium服务 若Android SDK已安装Appium服务,则在任意terminal使用appium启动服务即可 3.Appium Inspector客户端配置连接到Appium服务 Configuring and Starting a Session…

Pycharm(七):几个简单案例

一.剪刀石头布 需求:和电脑玩剪刀石头布游戏 考察点:1.随机数;2.判断语句 import random # numrandom.randint(1,3) # print(num) # print(**30) #1.录入玩家手势 playerint(input(请输入手势:(1.剪刀 2.石头 3&…

Python Cookbook-4.13 获取字典的一个子集

任务 你有一个巨大的字典,字典中的一些键属于一个特定的集合,而你想创建一个包含这个键集合及其对应值的新字典。 解决方案 如果你不想改动原字典: def sub_dict(somedict,somekeys,default None):return dict([(k, somedict.get(k,default)) for k…

VMware Ubuntu 网络配置全攻略:从断网到畅通无阻

一、网络连接模式选择(先搞懂原理) VMware提供三种网络模式,就像手机的不同网络套餐: 模式适用场景特点类比NAT个人上网/新手首选虚拟机共享主机IP,能上网但隐身家用WiFi桥接服务器/需要被局域网访问虚拟机会获得独立…

链表(C++)

这是本人第二次学习链表,第一次学习链表是在大一上的C语言课上,首次接触,感到有些难;第二次是在大一下学习数据结构时(就是这次),使用C再次理解链表。同时,这也是开启数据结构学习写…

【SPP】蓝牙串口协议应用层深度解析:从连接建立到实战开发

目录 一、SPP应用层协议框架与角色模型 1.1 分层协议栈模型 1.2 设备角色模型(DevA 与 DevB 交互) 二、连接建立流程:从 SDP 到 RFCOMM 2.1 服务发现(SDP)流程(SDP 记录关键参数) 2.2 连接…

Giteki 认证:无线产品进入日本市场的关键保障

目录 适用产品认证范围 认证项目及技术要求 认证流程 认证周期 与其他认证的对比 常见问题 注意事项 Giteki 认证,其名称来源于日本语 “技適マーク”,罗马字拼写为 “GITEKI” ,在行业内也常被称为 Telec 认证、MIC 认证、RF 认证或技…

Ubuntu24.04 配置远程桌面服务

一:安装 sudo apt update sudo apt install vino 二:设置 gsettings set org.gnome.Vino require-encryption false # 关闭加密(某些 VNC 客户端不支持加密) gsettings set org.gnome.Vino prompt-enabled false # 关闭连接…

人工智能与软件工程结合的发展趋势

AI与软件工程的结合正在深刻改变软件开发的流程、工具和方法,其发展方向涵盖了从代码生成到系统维护的整个生命周期。以下是主要的发展方向和技术趋势: 1. 软件架构体系的重构 从“面向过程”到“面向目标”的架构转型: AI驱动软件设计以目标…

转发和重定向的区别详解

转发(Forward)和重定向(Redirect)是 Web 开发中两种常用的请求处理方式,主要用于将客户端请求从一个资源转移到另一个资源。它们在实现机制、行为表现和应用场景上有显著区别,以下是对两者的详细解析&#…

python专题1-----判断一个变量是否是字符串类型

在 Python 中,可以使用 isinstance() 函数来判断一个变量是否是字符串类型。字符串在 Python 中是以 str 类型表示的。下面是一些示例代码,展示如何判断一个变量是否是字符串类型: # 示例变量 var1 "Hello, World!" var2 12345 …

软件工程之需求工程(需求获取、分析、验证)

一、需求获取(Requirements Elicitation) 1. 定义与目标 需求获取是通过与用户、利益相关者等交互,识别并捕获系统需求的过程,目标是明确用户意图与业务目标,避免后期因需求偏差导致返工。 2. 主要方法 问卷法&…