从安装到代码提交:Git 远程协作中 90% 的问题都能在这里找到答案

从安装到代码提交:Git 远程协作中 90% 的问题都能在这里找到答案

工欲善其事,必先利其器。

目录

安装 Git 的步骤:

  1. Windows 系统
    • 访问 Git 官网 下载对应版本的安装包(通常选择 64 位版本)。
    • 运行安装包,按照默认选项一路点击“下一步”即可完成安装(如需自定义安装路径或组件,可根据需求调整)。
    • 安装完成后,打开命令提示符(CMD)或 PowerShell,输入 git --version,若显示版本号(如 git version 2.45.1.windows.1),则说明安装成功。
  2. macOS 系统
    • 方法一:通过 Homebrew 安装(推荐)。先安装 Homebrew(若未安装,终端输入 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"),再执行 brew install git
    • 方法二:直接从 Git 官网 下载 macOS 版本的安装包,双击安装。
    • 验证:终端输入 git --version,显示版本号即安装成功。
  3. Linux 系统(以 Ubuntu 为例)
    • 终端输入命令 sudo apt-get update 更新软件源,再执行 sudo apt-get install git 安装。
    • 验证:输入 git --version,显示版本号即安装成功。

安装完成后,就可以使用你提供的一系列 Git 命令(如初始化仓库、连接远程仓库、分支操作、代码提交推送等)进行版本控制操作了。

本地Git与远程仓库连接及操作全指南

在日常开发中,本地Git仓库与远程仓库的协作是必不可少的环节。本文将详细介绍从初始化本地仓库到与远程仓库交互的完整流程,包含常用命令及问题解决方法,帮助开发者快速掌握Git远程操作技巧。

创建一个不带中文字符的文件夹,然后右键出现,点击更多选项,有git bash here

在这里插入图片描述


了解

一、本地仓库初始化与远程仓库连接

1. 初始化本地Git仓库

在项目根目录执行以下命令,将本地项目初始化为Git仓库:

git init 

2. 关联远程仓库

通过remote add命令将本地仓库与远程仓库关联,语法如下:

git remote add origin <远程仓库地址>

示例:

git remote add origin https://github.com/xx.git 

建立本地分支是Git版本控制中的基础操作,以下是详细步骤和常用命令:

1. 查看当前分支状态

在操作前,先确认当前所在分支及已有分支:

# 查看本地所有分支(当前分支前会有*标记)git branch # 查看本地和远程所有分支git branch -a
在这里插入图片描述


在这里插入图片描述

2. 新建本地分支

方法1:基于当前分支创建新分支

在当前所在分支的基础上创建新分支,并保持代码一致:

git branch <新分支名>

示例:创建名为feature/article-translate的分支

git branch feature/article-translate 
方法2:创建并直接切换到新分支(推荐)

一步完成“创建分支+切换分支”,更高效:

git checkout -b<新分支名>

示例:创建并切换到zhixin-dev分支

git checkout -b zhixin-dev 
方法3:基于远程分支创建本地分支

如果需要基于远程某分支(如origin/zhixin)创建本地分支并关联:

git checkout -b<本地分支名> origin/<远程分支名>

示例:基于远程zhixin分支创建同名本地分支

git checkout -b zhixin origin/zhixin 

3. 切换到已有的本地分支

如果分支已创建,可通过以下命令切换:

git checkout <分支名>

示例:切换到dev分支

git checkout dev 

二、分支管理与远程分支同步

1. 查看远程分支

若需查看远程仓库的所有分支,可使用:

git branch -r

2. 拉取远程分支到本地

方法二:先获取远程仓库最新信息,再切换分支

git fetch origin <远程分支名># 获取远程分支信息git checkout <本地分支名># 切换到对应本地分支

方法一:直接拉取指定远程分支并创建本地分支(推荐)

git checkout -b<本地分支名> origin/<远程分支名>

示例(拉取远程zhixin分支):

git checkout -b zhixin origin/zhixin 

三、代码提交与推送到远程仓库

1. 常规提交流程

# 查看文件状态(确认需要提交的文件)git status # 将所有修改添加到暂存区gitadd.# 提交暂存区文件到本地仓库,添加提交说明git commit -m"提交说明:如'后端文章修改发布时间'" 上线图片展示有问题 # 推送到远程指定分支git push origin <本地分支名>:<远程分支名>

示例(推送本地zhixin分支到远程zhixin分支):

git push origin zhixin 

2. 简化推送命令

若希望后续推送默认关联远程分支,可使用-u参数设置上游分支:

git push -u origin zhixin 

之后只需执行git push即可推送当前分支。

四、远程仓库信息查看与更新

1. 查看远程仓库详细信息

如需查看远程仓库的配置、分支关联等详细信息,使用:

git remote show origin 

2. 同步远程仓库最新数据

当远程仓库有更新时,可通过fetch命令获取最新信息(不合并到本地分支):

git fetch origin # 获取远程仓库所有更新# 或指定分支git fetch origin zhixin 

五、常见问题解决与优化配置

在使用魔法的情况下连接超时可以将一下命令执行一遍

1. 网络与连接问题修复

刷新DNS缓存(Windows)

ipconfig /flushdns 

配置代理(如需)

git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890 

清除代理设置:若因代理配置导致连接失败,可清除代理:

git config --global--unset http.proxy git config --global--unset https.proxy 

2. 推送大文件或提升传输稳定性

优化传输协议:

git config --global http.version HTTP/1.1 # 降级为HTTP/1.1协议

禁用传输超时限制:

git config --global http.lowSpeedLimit 0git config --global http.lowSpeedTime 999999

增大缓冲区:

git config --global http.postBuffer 1048576000# 设置为1GB

3. 清理本地Git缓存

若仓库存在冗余文件或缓存问题,可清理缓存:

git gc --prune=now 

git checkout -b zhixin3 origin/zhixin
fatal: ‘origin/zhixin’ is not a commit and a branch ‘zhixin3’ cannot be created from it
这个错误说明本地 Git 仓库中没有找到 origin/zhixin 这个远程分支的信息,通常是因为本地尚未同步远程仓库的最新分支列表。可以按以下步骤解决:
先同步远程仓库信息
首先更新本地对远程分支的认知,拉取最新的远程分支列表:
bash
git fetch origin

使用gitee上创建私有的厂库

注册账号

借用trea solo 获取gitee

在这里插入图片描述


我使用的指令是

连接 https://gitee.com/xx/xx.git 仓库 1.第一次通过问题,阅读相关文件的代码库,并编写计划, 任务/todo.md. 2. The Plan Shauld有一份Todo项目清单 您可以在完成它们时勾选 3.在开始工作之前,请与我联系 而且我会验证你的。 4.然后,开始处理待办事项,将它们标记为完整的。 5.请每一步都给我一个对您所做的改变进行高级解释 6.将您所执行的每项任务和代码更改作为简单越好.我们希望避免做出任何大规模或复杂的变化。每一个改变都应该iMPact作为LITtLE代码即有。一切都是关于简单性。 7.最后,在todo.md上添加评论部分包含您所做更改的摘要的文件,以及ANNY OHER更新信息。 8.别偷懒。“永远不要懒惰。如果有找到bug的根本原因并修复它。没有临时的修正。你是一个资深的程序员。永远不要懒惰请帮我整合文档,每次更改修改文档。 子代理 trea hooks 回退版本 ,我想设置trea code 钩子,能自动将代码提交gitee,只要我们修改代码成功且没有错误,请设置trea code钩子功能 思考,深度思考,超强思考 

输入

在这里插入图片描述
开发一个6x6网格的2048数字合并游戏,需实现以下核心功能: 1. 游戏棋盘采用6x6网格布局,支持以下交互方式: - 移动端:触摸滑动操作(上下左右) - PC端:键盘方向键控制(↑↓←→) 2. 数字生成机制: - 每次有效移动后,在随机空白单元格生成新数字 - 数字生成概率:2(90%)、4(10%) 3. 合并与计分系统: - 相同数字的相邻方块在移动时自动合并 - 合并后的数值累加到当前游戏得分 - 实时显示当前得分和最高分 4. 游戏状态判定: - 失败条件:棋盘填满且无有效移动可能 - 不设置2048达成胜利条件 5. 游戏控制功能: - 重新开始按钮:重置游戏状态(保留最高分记录) - 本地存储:持久化保存最高分数据 6. 响应式UI设计要求: - 自适应布局:完美适配手机/平板/PC等设备 - 视觉元素: * 不同数值的方块采用渐变色区分 * 清晰的分数显示面板 * 平滑的滑动和合并动画 * 触摸/悬停反馈效果 技术栈建议: - 前端框架:React/Vue.js(组件化开发) - 动画库:GSAP/Framer Motion - 状态管理:Redux/Zustand - 响应式设计:CSS Grid/Flexbox + 媒体查询 - 本地存储:localStorage API 

现在还有bug,不急,让他好好写

在这里插入图片描述


简单的调试一下代码可以运行了

在这里插入图片描述


在这里插入图片描述


代码我提交到了我私有的gitee。
游戏的页面有点卡顿,还是可以玩的

总结

ai的强大,会让程序员重底层代码解放出来。让我们可以更快的解决问题与实现我们的idea。字节的trea的solo不错,写一个前端的20

Read more

分布式版本控制系统Git的安装和使用

分布式版本控制系统Git的安装和使用

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程” 文章目录 * 一、关于版本控制 * 1. 什么是“版本控制”? * 2. 版本控制系统(VCS)带来的好处🐦‍🔥 * 3. 版本控制系统分类 * 二、Git核心 * 1. 三大文件状态 * 2. 四步完成一次代码提交 * 三、Git实战:从环境配置到命令详解 * 1. 环境配置 * Git的安装操作 * 2. 本地操作命令 * 3. 远程操作命令 * 四、Git分支与标签 * 1. 分支:隔离开发 * 2. 标签:标记重要版本 * 五、版本库目录与编码规范 * 1. 版本库目录规范

By Ne0inhk
GitHub 学生认证(保姆级教学)

GitHub 学生认证(保姆级教学)

作为一名嵌入式软件开发工程师,笔者发现Keil MDK 在开发效率上不如 VS Code 高效,因此决定转向 VS Code开发环境。在使用过程中,发现 Copilot的免费使用额度有限,但得益于教育工作者身份,笔者可以享受免费使用权益。特此撰写这篇学生/教师认证指南,希望能帮助更多人顺利获取教育优惠,同时分享使用心得。 一、资源准备 1. 学籍证明         笔者通过大量实践,总结出以下可直接套用的模板,只需替换个人信息即可。 2. 电脑环境         笔者在 Windows 11系统环境下使用 Google Chrome浏览器进行测试。 Google Chromehttps://www.google.cn/chrome/ 二、认证步骤 1. 重置网络配置(Windows)         按下 Win + R 组合键,输入 cmd

By Ne0inhk
Flutter for OpenHarmony:git 纯 Dart 实现的 Git 操作库(在应用内实现版本控制) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:git 纯 Dart 实现的 Git 操作库(在应用内实现版本控制) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter for OpenHarmony:git 纯 Dart 实现的 Git 操作库(在应用内实现版本控制) 深度解析与鸿蒙适配指南 前言 Git 通常作为命令行工具存在。但在某些特殊场景下,你可能需要在 App 内部直接操作 Git 仓库,例如: * 开发一个手机端的 Git 客户端 App。 * 使用 Git 作为笔记应用(如 Obsidian)的同步后端。 * 在应用内拉取远程配置或 CMS 内容。 git 是一个纯 Dart 实现的 Git 核心库(类似于 Java 的 JGit)。它负责直接读写

By Ne0inhk