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…

js之this

最近写代码学习了this,这个非常好用啊,今天拿出来给大家分享一下,根据我的理解以及前辈们的讲解 this 关键字代表当前执行上下文中的对象。它通常指向调用函数的对象,但其值可能取决于函数的调用方式。 全局上下文中的 this&…

项目经验,用什么思路去叙述?

文章目录 前言一、项目经验二、关于自学 前言 如果你的项目掌握的不高,面试官对项目的拷打,hold不住怎么办?首先一定要把项目说通透,一定要会说,就算可能没真实做过一个项目,会说出来讲通透就行。写在简历…

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

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

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

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

GitHub个人访问令牌登录

生成个人访问令牌 登录 GitHub。访问 Personal Access Tokens 页面。点击 “Generate new token”。为令牌选择一个描述性名称。选择 repo 权限。点击 “Generate token” 生成令牌。复制生成的令牌。 推送命令 设置存储库 URL(如果需要):…

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

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

PostgreSql创建数据库,用户以及权限分配

1.创建用户 CREATE USER newuser WITH PASSWORD password;2.创建数据库 CREATE DATABASE newdatabase;3.给用户赋权 GRANT ALL PRIVILEGES ON DATABASE newdatabase TO newuser;给用户newuser数据库(newdatabase)的所有权限

vue3之基于el-image实现图片预览

实现的功能&#xff1a; 图片可放大预览&#xff0c;支持放大、缩小、向左向右旋转查看可点击任意一张图后进行左右切换查看大图 主要使用的方法&#xff1a;splice和concat 主要代码 // template中 <div><el-imagev-for"(item, index) in imgsData":src&q…

力扣 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 文件编码改…

数据结构:共享栈

实现思想 共享栈&#xff08;Shared Stack&#xff09;是一种内存管理技术&#xff0c;通常用于操作系统和编程语言的运行时环境中&#xff0c;以支持多线程或多进程的程序。共享栈允许多个执行线程或进程共享同一个内存区域&#xff0c;这个内存区域用于存储局部变量、函数调用…

小白学Linux | Debian系系统与RedHat系系统日志区别

Debian系系统&#xff08;如Ubuntu&#xff09;的日志 包管理器相关日志: /var/log/apt/: 包含与APT包管理器相关的日志&#xff0c;如软件包安装和更新的详细信息。 /var/log/apt/history.log: 记录了通过APT命令安装、删除或升级的包的历史。/var/log/apt/term.log: 记录了AP…

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;定义下面几条语法规则&…

laravel8使用中间件实现xss处理

1、创建中间件 php artisan make:middleware XSSClean 2、编辑app/Http/Middleware/XSSClean.php文件 <?phpnamespace App\Http\Middleware;use Closure; use Illuminate\Http\Request;class XSSClean {/*** Handle an incoming request.** param \Illuminate\Http\Requ…

WM_PAINT 是如何触发的

WM_PAINT消息在Windows操作系统中是一个非常重要的消息&#xff0c;它用于通知窗口需要重绘其客户区。以下是WM_PAINT消息触发的一些主要场景和详细解释&#xff1a; 程序启动时&#xff1a; 当我们启动一个窗口应用程序时&#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…