2023-05-31 Git将已存在的项目上传到仓库

news2024/11/28 8:43:52

背景

正常情况下我们是在GitHub(Gitee是一样的,还不卡,因此下文将在Gitee仓库操作)创建一个代码仓库,然后将仓库拉到本地,在本地会生成一个和仓库名称一样的文件夹,然后在文件夹内写代码,最后使用git命令将写的代码文件上传到仓库中。

但是比如我们之前没有创建仓库,现在已有一个代码工程,想将代码上传到仓库里面,应该怎么做呢。之前笔者是创建一个名称一样的仓库,将仓库拉到本地,也就是本地有一个之前已有代码的文件夹和一个新的仓库文件夹,然后将已有代码的文件夹里面的所有内容拷贝到仓库文件夹中,然后在仓库文件夹中提交上传。这样是可以行的,但是有点low,因此在本文中记录一种新的方式。

介绍

在Git仓库中拉到本地的文件夹内会有一个.git隐藏文件夹,这个文件夹里面记录的是本地文件夹和Git仓库的关系,本文记录本地文件夹上传到一个新的Git仓库。那么本地文件夹就有2中情况,一种是有一个.git文件夹,可能的原因是可能这个文件夹是从别的仓库拉下来的,只是一直没有做管理,那个.git文件夹一直都在,只是没有用了,那么我们就将这个文件夹删除。保证我们要上传到仓库的文件夹内没有.git文件夹,是本地一个与Git仓库无关的文件夹。还有一种是没有.git文件夹的本地文件夹,也就是直接与Git仓库无关,我们要做的就是这种情况。

建议

.gitignore

要笔者说的话每个Git仓库必须要有一个gitignore文件,当然没有这个文件仓库一样使用。所以即使你不会使用或者不想使用,笔者也建议你得有一个,现在的IDE创建软件代码工程一般都会默认生成这个文件,如果你的文件夹不是IDE创建的或[图片上传中...(2023-05-31_112556.jpg-1458d8-1685503582349-0)]
者其它什么原因没有这个文件,或者之前有被你删除了,笔者都建议你要保证有一个。

Git仓库就是要保存我们这个文件夹里面的文件,而往往这个文件夹中有很多文件,比如代码而言,写代码部分是要上传的,但是代码编译生成的文件往往是不需要上传的,gitignore就是做这个事情的,它可以规范出哪些文件或者文件夹要被忽略。gitignore文件语法大致如下,target/表示target文件夹和文件夹内的所有内容,*.jpg表示所有.jpg文件。被声明在gitignore文件中的文件都会被Git忽略不上传到仓库中。

.idea/
build/
classpath/
logs/
target/
out/

*.log

*.jpg

操作

本文就本地的一个文件夹来做示例,将已经存在的文件夹上传到仓库中。

2023-05-31_112052.jpg

本地有一个MobilePortableServer文件夹,是一个Java工程,里面有一些代码文件同时也有.gitignore(再次强调一定要有,如果没有你就新建一个,如果你不会用你可以把它空着不写内容,日后你一定会用,总之就是这个文件一定要有),同时因为笔者的这个工程已经在仓库中所以也有.git文件夹。笔者在这里先将.git文件夹和Gitee中的这个仓库删除掉。

然后在Gitee中新建一个与文件夹同名的仓库

2023-05-31_112556.jpg

仓库名称就是这个文件夹名称,路径那里默认会将驼峰改成全小写和连接线,笔者不喜欢被修改,因此改成了和仓库一样的名称。一般而言会对仓库进行初始化,添加一些模板文件,比如.gitignore和readme等,笔者的这个文件夹就是最早用仓库创建出来的,所以这些文件都有,即使没有也没关系可以利用创建仓库的时候创建也可以在文件夹中自己创建,当然也可以没有这些文件。笔者这里就不初始化,直接创建。

2023-05-31_112940.jpg

创建完成后你的Gitee中就会出现这个仓库,不过仓库里面是空的,什么都没有。记住箭头位置,这里可以复制你的仓库地址,后面会用的上。

如果你是用仓库初始化生成的gitignore文件,那么它会根据你选的语音之类的信息生成一些默认的过滤文件,但是往往没什么用,笔者总是自己创建,然后根据自己本地环境添加对应的过滤文件。笔者这里的内容就如上文贴出来的一样,相关的文件不需要上传就过滤掉。

2023-05-31_113309.jpg

开一个cmd窗口,切到要上传的文件夹的路径,在文件夹中看出,笔者已经将之前的.git文件夹删除了。

在cmd中一次执行以下命令

git init

git remote add origin https://gitee.com/xxx.git

git add .

git commit -m "上传代码到仓库"

git push -u origin master
2023-05-31_113626.jpg

执行git init后会在本地文件夹内生成一个.git文件夹,这里面会有一些git的基本配置,表示这个文件夹要与Git关联起来。

执行git remote add origin https://gitee.com/xxx.git时,需要将后面的仓库地址改成上文中你创建仓库后仓库的地址。

执行git add .后会将本地文件夹中除了gitignore声明过滤的所有文件标记为git上传文件。

执行git commit -m "上传代码到仓库"后会将上一部标记的文件提交到本地git仓库中。-m参数后面接的是此次上传的说明。

执行git push -u origin master后git会将本地仓库的文件上传到Git仓库中,也就是上文中创建的仓库。

2023-05-31_114320.jpg
2023-05-31_114456.jpg

再次进入上文中创建的仓库,可以看到你的仓库中出现了你想要上传的文件。如果仓库的文件数据不对,那么你请检查你的gitignore文件。

至此一个本地文件夹上传到新的仓库操作就完成了。

使用

新的仓库使用还是一样,比如本地文件夹中添加了新文件或者修改了已有文件,然后使用git命令上传到仓库即可。笔者在本地文件夹中添加一个test.txt和修改README.md文件。

执行git add .命令添加要上传的文件
执行git commit -m "说明",将要上传的文件提交到本地仓库
执行git push命令,上传到git仓库中。
进入仓库能看到文件已经变化,并且在文件后面可以看到修改说明

2023-05-31_115016.jpg
2023-05-31_115059.jpg

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

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

相关文章

9 概率图模型【手写笔记】

文章目录 9 概率图模型【手写笔记】9.1 背景介绍9.2 贝叶斯网络(Bayesian Network)——有向图网络9.3 马尔可夫网络(Markov Network)——无向图网络9.4 Inferce(推断)——求解后验9.5 更多的图的概念 9 概率…

2023年DAMA-CDGA/CDGP数据治理认证考试形式、含金量

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

表的约束.

目录 表的约束空属性默认值列描述zerofill主键自增长唯一键外键综合案例 表的约束 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个…

一文带你了解MySQL之undo日志

目录 一、事务回滚的需求二、事务id2.1 给事务分配id的时机2.2 事务id是怎么生成的2.3 trx_id隐藏列 三、undo日志的格式3.1 INSERT操作对应的undo日志3.2 DELETE操作对应的undo日志3.3 UPDATE操作对应的undo日志3.3.1 不更新主键的情况3.3.2 更新主键的情况 四、通用链表结构五…

法国ESC高等商学院DBA申请

申请法国ESC高等商学院DBA,你需要了解这些!什么是法国ESC高等商学院DBA?法国ESC高等商学院DBA是法国商学院中的顶尖学位,也是全球最优秀的商学博士学位之一。该学位旨在为商业领袖、企业家和高级管理人员提供高水平的商业教育和研…

优秀的工具=生产力!15款高效原型设计软件种草

一个优秀产品的诞生,必定离不开原型设计。产品原型是概念到现实的桥梁,是产品成功的关键! 为什么产品原型如此重要?产品原型可以帮助团队更高效地测试产品可行性、理解和评估用户需求并不断优化迭代产品的最终方案。它决定了最终…

windows10系统mysql官方绿色版安装

1.下载 1)下载页面:MySQL :: Download MySQL Community Server 2)点击 Download 按钮下载zip包到本地,解压(我的本地解压到了D:\Programs\mysql-8.0.33-winx64) 2.环境配置 1)环境变量配置&a…

柜体内形成电弧的四个阶段及弧光保护装置的设计

安科瑞虞佳豪 什么是弧光保护 弧光保护是指电力系统由于各种的短路原因可引起弧光,弧光会以300m/s的速度爆发,摧毁途中的任何物质。只要系统中不断电,弧光就会一直存在。要想最大限度的减少弧光的危害,我们需要安全、迅速地切断…

Java开发手册中为什么禁止使用BigDecimal的equals方法做等值比较已经为什么禁止使用double直接构造BigDecimal

场景 阿里Java开发手册嵩山版中明确指出: 1、BigDecimal的等值比较应使用compareTo()方法,而不是equals()方法 equals()方法会比较值和精度(1.0与1.00返回结果为false),而compareTo()则会忽略精度 2、禁止使用构造方法BigDeci…

FAQ是什么?如何打造一个高效的FAQ页面?

FAQ是英文Frequently Asked Questions的缩写,即“常见问题解答”。FAQ系统是一个集中管理和展示常见问题和答案的工具。 FAQ页面一般放在网站的主菜单或底部导航栏中,通常与“联系我们”、“关于我们”等页面并列。有些网站还会在页面上方或右侧设置“常…

android开发之NDK配置开发

1、打开项目后,一次点击Tools>SDK Manager 2、点击SDK Tools标签页 3、选中NDK(Side by Side)和CMake复选框 4、点击OK 此时系统会显示一个对话框,告诉你NDK软件包占用了多少磁盘空间 5、点击OK 6、安装完成后,点击…

Web3 游戏的用户留存的挑战与机遇:从经济模型与游戏设计谈起

作者:lesleyfootprint.network 在开发和运营 Web3 游戏时,会面临许多挑战,因此有效地应对这些挑战对游戏的成功至关重要。其中一些策略包括在正式发布之前进行全面测试,并持续提供新的游戏玩法和内容,以确保游戏经济系…

二叉树中的链式结构实现

树的概念与结构 线性表:是一种具有n个相同特性的数据元素的有限序列。线性表逻辑上是线性结构,也就是连成的一条直线,但一条直线上的数据元素并不是一定要物理结构连续的。 讲到二叉树之前,我们要先了解一下什么是树,首…

【RocketMQ】RocketMQ标签、过滤及消息重复消费

【RocketMQ】RocketMQ标签、过滤及消息重复消费 文章目录 【RocketMQ】RocketMQ标签、过滤及消息重复消费1. 标签(Tag)1.1 示例 2. 键(Keys)2.1 示例 3. 消息重复消费3.1 示例 参考文档: 官方文档 1. 标签(Tag) Topic 与 Tag 都是业务上用来归类的标识&#xff0c…

Vue学习2

文章目录 引入vue的分析render修改脚手架的默认配置修改步骤 refpropsmixin局部:全局总结 插件(install)总结 scoped案例总结浏览器本地存储保存读取删除清空 组件自定义事件绑定传递数据的两种方式解绑坑this使用原生的总结 全局事件总线消息…

攻防世界 mfw(Git源码泄露与命令执行漏洞)

目录 Git 源码泄露: 1、strpos() 函数 2、assert()函数 3、file_exists() 函数 4、die() 函数 代码审计: 命令执行漏洞: 打开链接 在About里发现网站是使用Git、PHP、Bootstrap搭建的 使用dirsearch扫一下 从结果可以看出确实存在.git …

在Centos7.9中安装postgresql15最新版本_参考官网说明安装---PostgreSQL工作笔记002

现在我要实现利用nifi同步,postgresql中的增量数据,也就是如果postgresql中出现增删改数据的时候,数据要自动同步到我们远程的mysql数据库中. 又难到我了...首先:去安装postgresql在centos7.9中,之所以在centos7.9中又安装了一遍,因为,我的大体思路,是利用postgresql的逻辑复制…

搭建flask后端和微信小程序前端

目录 一、准备工作 (1)我的前端代码 (2)我的后端代码 (3)后端运行成功的截图 (4)前端运行成功的截图 (5)整体运行成功的截图 二、部署后端 &#xff08…

【C++】什么是函数模板/类模板?

文章目录 一、函数模板1.什么是函数模板?2.函数模板格式3.函数模板原理4.函数模板实例化(1)隐式实例化(2)显示实例化 二.类模板1.类模板定义格式2.类模板的实例化 总结 一、函数模板 1.什么是函数模板? 函…

VBA之正则表达式(42)-- 提取代码中变量名称

实例需求:待处理代码段如下所示,现在需要提取其中的变量名称。 Public pFactor As Integer Sub TestCode() Dim reg As New RegExp, a As Workbook Dim ms As VBScript_RegExp_55.MatchCollection Dim m As VBScript_RegExp_55.Match Dim i, j Dim x1, y…