Git - 详解 创建一个新仓库 / 推送现有文件夹 / 推送现有的 Git 仓库 到私有Gitlab

文章目录

  • 【推送现有文件夹】详细步骤
  • 指令说明
    • Git 全局设置
      • 设置Git全局用户名
      • 设置Git全局电子邮件地址
    • 推送现有文件夹
      • 1. 进入现有文件夹
      • 2. 初始化Git仓库并设置初始分支为main
      • 3. 添加远程仓库
      • 4. 添加所有文件到暂存区
      • 5. 提交更改
      • 6. 推送代码到远程仓库并设置上游分支
    • 创建一个新仓库
      • 1. 克隆现有仓库
      • 2. 进入克隆的仓库目录
      • 3. 创建并切换到新分支
      • 4. 创建一个新的README文件
      • 5. 添加文件到暂存区
      • 6. 提交更改
      • 7. 推送更改到远程仓库并设置上游分支
    • 推送现有的 Git 仓库
      • 1. 进入现有的Git仓库
      • 2. 重命名现有的远程仓库
      • 3. 添加新的远程仓库
      • 4. 推送所有分支到新的远程仓库
      • 5. 推送所有标签到新的远程仓库

在这里插入图片描述


【推送现有文件夹】详细步骤

我这里的需求为 将本地代码 推送到 新建的Gitlab项目,如下为操作截图 , follow即可
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

点击【创建项目】

在这里插入图片描述


指令说明

Git 全局设置

设置Git全局用户名

git config --global user.name "artisan"
  • git config命令用于设置Git的配置选项。
  • --global选项指定该配置为全局配置,即对所有Git项目生效。如果省略此选项,该配置只对当前项目有效。
  • user.name选项用于设置提交代码时所使用的用户名。
  • "artisan"是你希望在提交历史中显示的用户名。

设置Git全局电子邮件地址

git config --global user.email "xxx@xxx.com"
  • git config命令用于设置Git的配置选项。
  • --global选项指定该配置为全局配置,即对所有Git项目生效。如果省略此选项,该配置只对当前项目有效。
  • user.email选项用于设置提交代码时所使用的电子邮件地址。
  • "xxx@xxx.com"是你希望在提交历史中显示的电子邮件地址。

推送现有文件夹

#推送现有文件夹
cd existing_folder
git init --initial-branch=main
git remote add origin http://gitlab.example.com/amazing/backend/ssss.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main
  • 进入了现有项目文件夹。
  • 初始化了Git仓库并设置了默认分支为main
  • 添加了远程仓库地址。
  • 将所有文件添加到暂存区。
  • 提交了更改并进行了初次提交。
  • 推送了本地仓库的更改到远程仓库,并设置了上游分支。

1. 进入现有文件夹

cd existing_folder
  • cd命令用于更改当前目录。
  • existing_folder是你本地项目的文件夹名称,进入该文件夹后,后续所有Git操作将在这个目录中进行。

2. 初始化Git仓库并设置初始分支为main

git init --initial-branch=main
  • git init命令用于初始化一个新的Git仓库。
  • --initial-branch=main选项指定了初始化仓库时的默认分支名称为main,而不是Git默认的master。这是为了与当前业界规范一致(main已逐渐取代master作为默认分支名称)。

3. 添加远程仓库

git remote add origin http://gitlab.example.com/amazing/backend/ssss.git
  • git remote add命令用于添加一个远程仓库。
  • origin是这个远程仓库的名字,这是一个常见的命名惯例,表示这个远程仓库是本地仓库的主要版本。
  • http://gitlab.example.com/amazing/backend/ssss.git是远程仓库的URL,表示你将在Gitlab上存储代码的位置。

4. 添加所有文件到暂存区

git add .
  • git add .命令用于将当前目录下的所有更改(包括新文件、修改过的文件和删除的文件)添加到Git的暂存区。暂存区是Git用于存储即将提交的更改的区域。

5. 提交更改

git commit -m "Initial commit"
  • git commit命令用于将暂存区的更改提交到本地仓库。
  • -m "Initial commit"选项用于提供提交信息,这里提交信息为"Initial commit",表示这是该仓库的第一次提交。

6. 推送代码到远程仓库并设置上游分支

git push --set-upstream origin main
  • git push命令用于将本地仓库的更改推送到远程仓库。
  • --set-upstream origin main选项设置了main分支的上游分支为远程仓库的main分支。这样,之后可以只用git pushgit pull命令来推送和拉取main分支的更改,而不需要每次都指定远程仓库和分支名称。

创建一个新仓库

git clone http://gitlab.example.com/amazing/backend/ssss.git
cd ssss
git switch --create main
touch README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main
  • 从远程仓库克隆了一个新的本地仓库。
  • 进入了克隆的仓库目录。
  • 创建并切换到了一个新的main分支。
  • 创建了一个新的README.md文件。
  • README.md文件添加到了暂存区。
  • 提交了更改,添加了提交信息。
  • 将本地仓库的更改推送到了远程仓库,并设置了上游分支。

1. 克隆现有仓库

git clone http://gitlab.example.com/amazing/backend/ssss.git
  • git clone命令用于从远程仓库克隆一个新的本地仓库副本。
  • http://gitlab.example.com/amazing/backend/ssss.git是远程仓库的URL,表示你将从Gitlab上克隆该仓库到本地。

2. 进入克隆的仓库目录

cd ssss
  • cd ssss命令用于进入刚刚克隆的仓库目录ssss。在这个目录中进行后续的Git操作。

3. 创建并切换到新分支

git switch --create main
  • git switch命令用于切换分支。
  • --create main选项表示创建并切换到一个名为main的新分支。

4. 创建一个新的README文件

touch README.md
  • touch README.md命令用于在当前目录中创建一个名为README.md的空文件。

5. 添加文件到暂存区

git add README.md
  • git add README.md命令用于将新创建的README.md文件添加到Git的暂存区。暂存区是Git用于存储即将提交的更改的区域。

6. 提交更改

git commit -m "add README"
  • git commit命令用于将暂存区的更改提交到本地仓库。
  • -m "add README"选项用于提供提交信息,这里提交信息为"add README",描述了提交的目的和内容。

7. 推送更改到远程仓库并设置上游分支

git push --set-upstream origin main
  • git push命令用于将本地仓库的更改推送到远程仓库。
  • --set-upstream origin main选项设置了main分支的上游分支为远程仓库的main分支。这样,之后你可以只用git pushgit pull命令来推送和拉取main分支的更改,而不需要每次都指定远程仓库和分支名称。

推送现有的 Git 仓库

cd existing_repo
git remote rename origin old-origin
git remote add origin http://gitlab.example.com/amazing/backend/ssss.git
git push --set-upstream origin --all
git push --set-upstream origin --tags
  • 进入了现有的Git仓库目录。
  • 重命名了现有的远程仓库为old-origin,以避免命名冲突。
  • 添加了一个新的远程仓库origin。
  • 推送了所有本地分支到新的远程仓库。
  • 推送了所有本地标签到新的远程仓库。

1. 进入现有的Git仓库

cd existing_repo
  • cd命令用于更改当前目录。
  • existing_repo是你本地的现有Git仓库目录,进入该目录后,后续所有Git操作将在这个目录中进行。

2. 重命名现有的远程仓库

git remote rename origin old-origin
  • git remote rename命令用于重命名现有的远程仓库。
  • origin是当前远程仓库的名称。
  • old-origin是新的名称,这一步是为了避免与新的远程仓库命名冲突,并保留旧的远程仓库地址以备不时之需。

3. 添加新的远程仓库

git remote add origin http://gitlab.example.com/amazing/backend/ssss.git
  • git remote add命令用于添加一个新的远程仓库。
  • origin是新远程仓库的名称,这里沿用常见的命名惯例,表示这是你本地仓库的主要远程版本。
  • http://gitlab.example.com/amazing/backend/ssss.git是新的远程仓库的URL,表示你将在Gitlab上存储代码的位置。

4. 推送所有分支到新的远程仓库

git push --set-upstream origin --all
  • git push命令用于将本地仓库的更改推送到远程仓库。
  • --set-upstream origin选项设置上游分支为新远程仓库的对应分支。
  • --all选项表示将所有本地分支推送到远程仓库。

5. 推送所有标签到新的远程仓库

git push --set-upstream origin --tags
  • git push命令用于将本地仓库的更改推送到远程仓库。
  • --set-upstream origin选项设置上游分支为新远程仓库的对应分支。
  • --tags选项表示将所有本地标签推送到远程仓库。

在这里插入图片描述

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

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

相关文章

ESXi内安装OpenWrt

目录 0、前言 1、环境 2、转换格式 3、创建虚拟机 4、OpenWrt设置 5、单臂流量测试 6、总结 0、前言 前几天在ESXi中先安装了PVE,然后在PVE中安装OpenWrt,没有来得及深入测试,仅仅作为安装和熟悉PVE的过程。后来转念一想为什么不在ES…

CS1061 “HtmlHelper”未包含“Partial”的定义,并且找不到可接受第一个“HtmlHelper”类型参数的可访问扩展方法“Partial”

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 CS1061 “HtmlHelper”未包含“Partial”的定义,并且找不到可接受第一个“HtmlHelper”类型参数的可访问扩展方法“Partial”(是否缺少 using 指令或程序集引用?) 14_Views_Message_E…

找嵌入式软件工作,freertos要掌握到什么程度?

对于嵌入式软件工程师来说,掌握RTOS(实时操作系统)的程度并不是决定性因素,而更重要的是工程思维和解决问题的能力。我这里有一套嵌入式入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习嵌入式…

Angular封装高德地图组件实现输入框搜索,地图点击选地点

Angular封装高德地图组件实现输入框搜索,地图点击选地点(Angular17版本) 话不多说直接上代码 创建一个独立组件 html代码: <div style"position: relative;"><input #searchInput nz-input placeholder"请输入地址"/><div #mapContaine…

力扣 48.旋转图像

题目描述&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],…

CLion配置

下载环境&#xff1a;MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net 解压后找一个位置存放&#xff0c;一般放在和ide同一目录&#xff0c;方便查找 个人习惯配置调整&#xff1a; 项目创建 修改ide解码形式 项目右下角一般默认是utf8 文件编码改…

VS2019 QT无法打开 源 文件 “QTcpSocket“

VS2019 QT无法打开 源 文件 "QTcpSocket" QT5.15.2_msvc2019_64 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E1696 无法打开 源 文件 "QTcpSocket" auto_pack_line_demo D:\vs_qt_project\auto_pack_line_de…

【区块链】truffle测试

配置区块链网络 启动Ganache软件 使用VScode打开项目的wordspace 配置对外访问的RPC接口为7545&#xff0c;配置项目的truffle-config.js实现与新建Workspace的连接。 创建项目 创建一个新的目录 mkdir MetaCoin cd MetaCoin下载metacoin盒子 truffle unbox metacoincontra…

如何减少Apache Spark日志的数量

修改log4j配置文件&#xff0c;没有就创建&#xff1a; 内容&#xff1a; # 设置日志记录器 log4j.rootCategoryWARN, console log4j.appender.consoleorg.apache.log4j.ConsoleAppender log4j.appender.console.targetSystem.err log4j.appender.console.layoutorg.apache.lo…

【栈】1096. 花括号展开 II

本文涉及知识点 栈 LeetCode 1096. 花括号展开 II 如果你熟悉 Shell 编程&#xff0c;那么一定了解过花括号展开&#xff0c;它可以用来生成任意字符串。 花括号展开的表达式可以看作一个由 花括号、逗号 和 小写英文字母 组成的字符串&#xff0c;定义下面几条语法规则&…

Python | Leetcode Python题解之第135题分发糖果

题目&#xff1a; 题解&#xff1a; class Solution:def candy(self, ratings: List[int]) -> int:n len(ratings)ret 1inc, dec, pre 1, 0, 1for i in range(1, n):if ratings[i] > ratings[i - 1]:dec 0pre (1 if ratings[i] ratings[i - 1] else pre 1)ret p…

通过 AI Edge Torch 生成式 API 在设备上使用自定义大语言模型

作者 / 首席工程师 Cormac Brick&#xff0c;软件工程师 Haoliang Zhang 我们很高兴地发布 AI Edge Torch 生成式 API&#xff0c;它能将开发者用 PyTorch 编写的高性能大语言模型 (LLM) 部署至 TensorFlow Lite (TFLite) 运行时&#xff0c;从而无缝地将新的设备端生成式 AI 模…

JavaSE中的if语句、switch语句:如何控制程序流程?

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

MySQL与PostgreSQL关键对比一(整体篇)

目录 1 快速参考表&#xff1a;MySQL 与 PostgreSQL 功能表 2 快速参考表&#xff1a;MySQL 与 PostgreSQL 功能表 MySQL 和 PostgreSQL 提供许多相同的特性和功能 - 但是这两个关系数据库管理系统 (RDBMS) 之间存在不容忽视的关键差异。 如果您不熟悉这些差异&#xff0c;这…

RabbitMQ(五)集群配置、Management UI

文章目录 一、安装RabbitMQ1、前置要求2、安装docker版复制第一个节点的.erlang.cookie进入各节点命令行配置集群检查集群状态 3、三台组合集群安装版rabbitmq节点rabbitmq-node2节点rabbitmq-node3节点 二、负载均衡&#xff1a;Management UI1、说明2、安装HAProxy3、修改配置…

Windows安装运行elasticsearch服务

官方下载地址&#xff1a;Download Elasticsearch | Elastic 我在linux上执行的下载命令&#xff1a;wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-linux-x86_64.tar.gz Elasticsearch&#xff08;简称ES&#xff09;是一款基于Apache Lu…

hutool工具实践-缓存

简介 依赖引入 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-cache</artifactId><version>5.8.17</version></dependency> hutool工具既可以像上一章hutool工具实践-验证码-CSDN博客所说直接全部引入&#x…

短剧小程序剧场短剧APP定制开发付费短剧之为什么自建?

在当今数字时代&#xff0c;拥有一个属于自己的小剧场短剧影视小程序不仅是追求创作梦想的新途径&#xff0c;也是与观众建立紧密联系的有效方式。这种新兴的平台为创作者提供了前所未有的自由和机会&#xff0c;使他们能够直接与广大观众交流和分享作品。 1、源码分享的重要性…

搭贝请假审批应用

在现代企业管理中&#xff0c;高效的请假审批系统至关重要。搭贝的请假审批应用通过简化员工的请假流程、提升管理层的工作效率&#xff0c;确保企业运作的连贯性和透明度。本文将介绍搭贝请假审批应用的主要功能模块&#xff1a;请假分析看板、请假申请审批流、请假类型维护和…

依赖注入方式和自动加载原理

依赖注入 Spring提供了依赖注入的功能&#xff0c;方便我们管理和使用各种Bean&#xff0c;常见的方式有&#xff1a; 字段注入&#xff08;Autowired 或 Resource&#xff09;构造函数注入set方法注入 在以往代码中&#xff0c;我们经常利用Spring提供的Autowired注解来实现…