IDE配合github进行工程代码备份与版本控制

Unity项目.gitignore终极指南:告别臃肿备份,实现高效版本控制 在软件开发和版本控制中,.gitignore文件是管理项目文件、避免冗余数据进入代码仓库的核心工具。其工作原理是通过模式匹配规则,让Git自动忽略临时文件、编译缓存、本地配置等非核心资产,从而确保版本库只包含必要的源代码和资源。这一机制对于提升团队协作效率、减少存储开销和加速备份流程具有重要技术价值,尤其适用于Unity、Unreal等会产生大量中间文件的游戏引擎项目。在Unity开发场景中,合理配置.gitignore能有效解决项目体积臃肿、备份缓慢和版本历史污染等常见痛点。本文基于Unity项目结构解析 阅读详情

RT.

使用github在Linux下配合IDE对工程进行代码备份和版本控制。

我的工作环境是LAMP+PHPstorm IDE。

1:搭建github本地工作环境

在linux下安装github,

$sudo apt-get install git

安装完成之后对git进行一些全局变量的配置,

$git config --global user.name XXX    用户名
$git config --global user.email XXX    用户邮箱

2:创建github新repository

在网页版的github主页上新建一个repository,记住名称

cd进入项目的文件目录下,执行初始化命令

$git init

3:commit和push

新建文件的配置说明

$touch README
将改动提交到缓存区中

$git add -A

将改动commit到HEAD中

$git commit -m "initial commit"

push该分支到github代码库

$git push origin master

4:pull

由于我有两台电脑,一台在办公室,另外一台在宿舍。我希望能够通过github代码托管来实现我在办公室和宿舍的电脑的代码同步。

首先在每一台电脑上开始一天的工作之前,要先将本地的代码库与服务器上的代码库进行一个同步。

$git pull origin master

调用这个命令实际上等同于使用两个命令一个是fetch,一个是merge。将远程服务器上的代码fetch下来然后再与本地的代码进行merge操作。

但是这个过程并不是总是一帆风顺,就像我的工作环境一样。

5:关于多台电脑上IDE环境配置与github之间的同步问题

我使用的是两台电脑,都是使用LAMP的服务器环境,同时都使用PHPStorm IDE进行网站开发。在办公室的电脑新建了项目并且push了之后,我回到宿舍,使用git clone这个命令将服务器上的项目拷贝到本地。

$git clone https://github.com/XXX用户名/xxx项目名.git
在宿舍的电脑上进行代码修改后,提交的时候总是会提示:

自动合并 .idea/workspace.xml
冲突(内容):合并冲突于 .idea/workspace.xml
自动合并失败,修正冲突然后提交修正的结果。
由于我并不是老手,所以这个问题捣鼓了好久,一直查到国外stack overflow这些网站,他们给出的答案还是不能够让我满意。后来发现,github有一个.gitignore的文件,通过这个文件中配置,就可以在提交commit的时候忽略来自workspace.xml的变化。

具体的原因参考这篇文章(http://stackoverflow.com/questions/11968531/what-to-gitignore-from-the-idea-folder)以及这篇(http://stackoverflow.com/questions/13764869/phpstorm-git-attempts-to-commit-workspace-xml),大概的意思是,现在主流的IDE代码编辑器都会有自己的工作区配置文件,但是这些配置文件不同的电脑上又是不同的,git如果把所有的文件都提交的话,就会导致一些无法自动merge的错误。需要人工进行处理。

$cd 项目文件目录下
$touch .gitignore
$vim .gitignore
#在该文件下新增对.idea/workspace.xml的忽略规则
.idea/workspace.xml
修改了.gitignore之后,commit一下再push上服务器,这样子服务器上就会没有了.idea/workspace.xml这个配置文件了。

然后,在公司的电脑上,我先删除掉.idea/workspace.xml这个文件。

$git rm --cached .idea/workspace.xml

或者通过下面这个命令使git停止对.idea/workspace.xml进行跟踪

$ git update-index --assume-unchanged .idea/workspace.xml
这两个方法只能够选择一种,如果先执行删除再执行忽略,会导致一个fatal error。

fatal: 路径规则 '.idea/workspace.xml' 未匹配任何文件

然后再在项目下执行git pull更新一下目录。会发现这一次是不会提示之前在宿舍电脑上出现的问题了。

同样,在本地进行push,也不会出现提交不了的错误。

error: Your local changes to the following files would be overwritten by merge:
	.idea/workspace.xml
Please, commit your changes or stash them before you can merge.
Aborting

6:分支和merge

git工具的另外一个功能是,分支。可以通过创建分支来使得项目独立于master主线,开发完成后再执行merge进行合并。而在开发过程中完全不影响主线。


7:参考

a.  惊艳的教程 http://rogerdudler.github.io/git-guide/index.zh.html

b. Git配合IDE  http://blog.youkuaiyun.com/mad1989/article/details/8902340

c. Git详解 http://www.open-open.com/lib/view/open1328069609436.html

d. Git操作 http://www.open-open.com/lib/view/open1325032506874.html

嵌入式开发中版本控制实践:Keil与RT-Thread Studio集成Git/SVN指南 版本控制系统是软件工程的基础设施,用于追踪和管理代码变更历史。其核心原理在于记录文件的每一次修改,形成可追溯的版本树,从而实现团队协作、代码回滚与并行开发。在嵌入式开发领域,版本控制的技术价值尤为突出,它能有效管理工程文件、链接脚本及硬件设计文档,确保项目在多人协作与长期迭代中的稳定性与可维护性。应用场景涵盖从个人开发到团队协作的全流程,特别是在使用Keil MDK、RT-Thread Studio等主流嵌入式IDE时,集成版本控制能系统性解决代码备份混乱、合并冲突与实验分支管理等问题。本文聚焦于如何在嵌入 阅读详情

相关推荐

从零开始上传GitHub项目:完整流程、报错排查与工程化规范

版本控制是软件工程的基础能力,它让代码的每一次变更都有迹可循。作为基于Git的代码托管平台,GitHub不仅提供远程备份与多人协作能力,更是开发者展示作品、参与开源的重要阵地。将本地项目安全、规范地推送到GitHub,需要理解Git原理、仓库结构、忽略规则(.gitignore)以及README等元信息的作用。在实际操作中,开发者常遇到网络链路不稳定、认证方式变更(如Personal Access Token取代密码)、远程历史冲突等高频问题。掌握网络诊断思路与多远程仓库同步策略,既能提高推送成功率,也能保

weixin_34006965的博客 1306

git rm使用指南

作用:从git的索引库中删除对应文件的索引,如果目录树中存在索引记录,同时删除目录树中的记录,但不会删除本地文件。 常见的操作如下所示: git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] 首先创建一个空的用于演示的文件,并执行git初始化工作 B000000079127B:Stud...

u012953143的博客 1525

搭建私有代码助手:Llama3本地化部署与IDE集成实战

私有代码助手是企业级AI编程的核心基础设施,其本质是将大语言模型能力与本地开发环境深度耦合,在保障代码资产不出内网的前提下,实现低延迟、高准确率的智能补全。技术原理上依赖轻量级边缘推理架构、AST驱动的结构化知识库构建,以及基于语义锚点的上下文感知机制。其核心价值在于解决安全合规、业务适配与响应性能三大工程瓶颈,广泛应用于金融、政企等对数据主权要求严格的中大型研发团队。本文聚焦Llama3-70B在A100上的AWQ量化部署、ChromaDB嵌入式知识库构建,以及VS Code/JetBrains双平台插件

weixin_34221036的博客 398

git rm -r cached <dir>按层次遍历目录导致删除目录下文件时“未匹配任何文件“错误

haypin@MBP  ~/cpp_cmake_js_java_python   main ✚  git add * haypin@MBP  ~/cpp_cmake_js_java_python   main ✚  find . \( -ipath './js*' -o -ipath '*build*' -o -ipath '*idea*' \) -a -not -ipath '*venv*' -a -print|xargs git rm --cached fatal: 未提供 -r..

HayPinF的博客 1338

STM32Cube软件体系与GitHub实战:许可证、版本管理与常见问题

嵌入式开发中,基于MCU的固件工程往往涉及复杂的初始化配置与多组件依赖管理。STM32Cube作为ST推出的软件体系,通过图形化配置工具与分层固件包,大幅降低了芯片外设初始化的门槛,成为众多开发者快速构建原型的基础。在工程实践中,开发者常从GitHub获取官方固件包,并借助版本控制与持续集成提升协作效率。然而,开源不等于无约束,STM32Cube固件包涉及的许可证类型、中间件授权边界以及版本兼容性,直接关系到商业项目的合规性与稳定性。同时,面对固件包依赖报错、GitHub下载缓慢等实际障碍,掌握本地包管理与

weixin_30411819的博客 384

Unity版本控制工具选择指南:Plastic SCM与Git深度对比与迁移实践

版本控制系统是现代软件开发的基础设施,它通过记录文件变更历史、协调多人协作来保障项目资产的安全与可追溯性。其核心原理包括分支管理、变更追踪和冲突解决机制,为团队协作提供了技术保障。在游戏开发领域,Unity项目的资产管理尤为复杂,涉及大量二进制文件(如纹理、模型)和特有的元数据(.meta文件),这对版本控制工具提出了特殊要求。Plastic SCM作为Unity官方推荐的解决方案,原生支持Unity资产的可视化合并与智能跟踪;而Git凭借其强大的分布式架构和生态优势,在代码管理方面表现卓越,但需配合Git

weixin_33894640的博客 637

GitHub和IDEA的配合使用 | Github获取token

在我们使用idea这类JetBrains公司的IDE连接github方便上传代码的时,我们如果是第一次使用,经常会陷入许多bug,在网上直接搜教程也没有具体能解决的;idea默认推送分支是master,但github在2021年改版后,将主分支默认设置为了main,所以我们需要现将github中的主分支修改为master。好啦,github与idea的纠缠就到这里啦,如果大家觉得写的还不错的话,可不可以给我一个小小的赞,我们下期在见!好,连接好后,我们就可以上传我们的代码啦!,下次你再打开就看不到了。

m0_61780691的博客 4450

Claude Code + Opus 4.7:面向工程实践的本地IDE智能协作者

代码智能辅助已从简单补全升级为上下文感知的开发协作者。其核心原理在于本地编辑器与远程大模型的协同架构——通过结构化代码截取、语法树增强的上下文建模,以及针对编程任务优化的推理机制,实现跨文件依赖分析、静默缺陷识别与规范一致性保障。技术价值体现在显著降低调试成本、提升重构准确率与强化生产环境可靠性。典型应用场景包括遗留系统重构、多语言项目维护、技术债快速评估及企业级安全可控开发流建设。本文聚焦Claude Code插件与Opus 4.7模型深度协同的关键机制与实操范式。

weixin_33875564的博客 592

git rm 未匹配任何文件

$ git rm ../doc/demo\241\214\346\226\271\346\263\225.txt fatal: 路径规格 '../doc/demo241214346226271346263225.txt' 未匹配任何文件 原因: 中文文件的显示方式设置不对。 修改: git config --global core.quotepath false core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常。 (https.

none 2707

RStudio安装配置全指南:R语言IDE部署避坑与工程化实践

RStudio是R语言生态中集代码编辑、调试、可视化与项目管理于一体的集成开发环境,其本质并非R解释器而是依赖R运行时的前端工作台。理解R与RStudio的分离架构、版本兼容性(如R 4.3.0+与RStudio 2024版的API v4约束)及跨平台环境变量(R_HOME、PATH)配置原理,是保障数据工作流稳定性的技术基础。该工具广泛应用于统计教学、金融建模、生物信息分析等场景,尤其在R Markdown报告生成、renv环境隔离、Git协同开发等工程实践中体现核心价值。本文聚焦Windows/macO

weixin_34364071的博客 401

Arduino编程工具对比:从Mind+图形化到Arduino IDE代码开发的进阶指南

嵌入式开发入门常涉及微控制器编程,其核心在于将逻辑指令转化为硬件可执行的机器码。这一过程通常需要集成开发环境(IDE)的支持,它负责代码编辑、编译、链接和烧录等关键环节。对于初学者而言,图形化编程工具通过拖拽积木块的方式抽象了底层语法,大幅降低了学习门槛,能快速实现创意原型。随着项目复杂度提升,开发者需要更精细的代码控制、第三方库集成和性能优化,这时传统的代码IDE便展现出其灵活性和强大功能。本文聚焦于Arduino生态中两款代表性工具——Mind+图形化软件与Arduino IDE,通过对比其**工作流程

weixin_30696427的博客 395

idea 的文件路径出现不匹配的问题

date: 2019-06-22 22:56 status: draft title: ‘idea 的文件路径出现不匹配的问题’ idea的文件和外部创建的文件是有别的 通过观察发现在创建idea 的java 包的过程中"/“和”."是有严格的区分的。 除了在特定函数中的包或者文件的路径中".“表示下一层文件,在idea 中创建包过程中”.“只是一个简单的符号而”/"才是下一层文件夹。 ...

weixin_40488730的博客 3995

DeepSeek为何在代码与数学推理上碾压大模型

大模型能力并非单一维度的参数竞赛,而是资源密度、技术路径与场景聚焦的系统性博弈。当行业普遍追求通用泛化与全栈生态时,DeepSeek以MoE稀疏架构和垂直领域精耕为突破口,在代码理解与数学推理两大高价值切口实现工程级突破。其核心不在于‘更大’,而在于用窄带高纯数据、动态专家路由与AST级符号建模,将开源模型的实用上限推至极致——这正是当前AI落地中最稀缺的‘最后一公里’交付精度。本文深入解析其轻量化MoE实现、GitHub工业级清洗流水线与LaTeX AST微调范式。

weixin_33826609的博客 730

保姆级教程:用VSCode+PlatformIO编译Marlin 2.0固件,告别Arduino IDE

本文提供了一份详细的教程,指导用户如何使用VSCode和PlatformIO编译Marlin 2.0固件,替代传统的Arduino IDE。通过智能代码补全、实时错误检查和集成终端等现代化功能,显著提升3D打印机固件开发的效率和质量。

weixin_30654419的博客 302

Arduino IDE板级包路径配置与ESP32/ESP8266环境搭建实战

嵌入式开发中,Arduino IDE的板级包(Board Package)是让IDE识别并编译第三方开发板的关键组件,其默认存储路径通常位于系统盘的Arduino15目录。理解路径配置原理,能有效解决板级包下载失败、C盘空间不足、离线部署困难等常见问题。通过自定义数据目录、迁移Arduino15文件夹或使用符号链接,可将ESP32、ESP8266等开发环境平稳部署到非系统盘。同时,掌握离线安装包的目录合并技巧,能在内网或弱网环境下快速完成环境搭建。合理的路径规划与版本管理,不仅提升开发调试效率,也为批量部署

weixin_33804582的博客 300

用Codex+GitHub Pages+Actions实现网站自动部署

在本地开发的网站可通过localhost预览,但localhost仅代表本机,他人无法访问。想要让个人主页、作品集上线公网,需要借助静态网站托管服务。GitHub Pages提供免费托管和HTTPS支持,GitHub Actions则能在代码推送后自动完成构建与部署。结合Codex等AI编程工具快速生成页面,开发者能够以接近零成本的方式实现从0到1的发布闭环。理解本地开发与公网部署的差异,掌握基于Git的工作流与CI/CD基本概念,是当代开发者的实用技能。本文系统梳理了从本机预览、代码推送到自动化部署的完整

weixin_34295316的博客 376

Git版本控制实战:从核心原理到团队协作工作流设计

版本控制是软件开发和数字资产管理中的基础概念,它通过系统性地记录文件变更历史,解决了数据丢失、协作混乱和变更追溯等核心问题。其技术原理从早期的简单备份,发展到以Git为代表的分布式版本控制系统,通过快照存储、分支管理和差异合并等机制,实现了高效、安全的协同工作流。这项技术的核心价值在于为团队提供了清晰的“时光隧道”,能精确回答“谁、何时、为何修改”,极大提升了工程效率和代码质量。在应用场景上,无论是个人项目管理、团队并行开发,还是应对线上紧急故障,一套基于Git的标准化工作流(如功能分支、合并请求)都是现代

aibiba0894的博客 340

AI编程工具选型指南:TRAE/Copilot/通义灵码/Windsurf工程化落地

AI编程助手不是即插即用的插件,而是需与开发环境深度耦合的工作流系统。其核心原理在于语言服务器协议(LSP)集成、本地模型推理能力、IDE事件循环注入等底层机制,技术价值体现在补全准确率、跨文件上下文理解、离线可用性及资源占用控制上。典型应用场景包括Java微服务重构、Python异步爬虫辅助、Django类型推导、Spring Boot契约测试生成等。本文聚焦TRAE Solo/IDE架构差异、GitHub Copilot CLI对接DeepSeek实操、通义灵码VSCode离线配置、Windsurf客户

weixin_33802505的博客 373
上一篇: Apache2配置深入学习
下一篇: 【ThinkPHP学习】volist标签使用
GiantChan
博客等级 码龄16年 76粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值