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

server/2024/10/18 5:39:05/

文章目录

  • 【推送现有文件夹】详细步骤
  • 指令说明
    • 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.ppmy.cn/server/48640.html

相关文章

软件设计模式概述

一 软件模式概述 软件设计模式是在软件开发过程中经过验证的、可重复使用的最佳实践。 它们提供了解决常见设计问题的模板和指导方针,有助于开发人员编写高质量、可维护和可扩展的代码。 软件设计模式通常基于面向对象的编程范式,并利用封装、…

js 数组转树,树转数组

/*** 树转数组* param tree* param hasChildren*/export function treeToList(tree [], hasChildren false) {let queen []const out []queen queen.concat(JSON.parse(JSON.stringify(tree)));while (queen.length) {const first queen.shift()if (first?.children) {q…

leetcode hot100 补充

leetcode 除了 hot100 外,还有一些常见的题目,也是值得我们复习的。我们新开一个 补充 栏目,进行梳理。 hot 100补充 回溯法字符串 回溯法 medium 组合之和 II dfs 字符串 medium 字符串相乘

【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt窗口 | 标准对话框 | 颜色对话框QColorDialog 文章编号:…

大语言模型 (LLM) 窥探未来

随着2023年的岁月渐渐走向尾声,我们站在人工智能的前沿,回望大语言模型(Large Language Models, LLM)所走过的道路,同时也不禁展望未来。从初步尝试到成为人工智能领域的万千宠爱,一种又一种的技术突破&…

Redis缓存的使用

1.缓存穿透 描述:查询数据在redis不存在,请求打到数据库 解决方法: 缓存空值 当出现Redis查不到数据,数据库也查不到数据的情况,我们就把这个key保存到Redis中,设置value"null",并设…

用Python编写自动发送每日电子邮件报告的脚本

为了用 Python 编写自动发送每日电子邮件报告的脚本,你可以使用 smtplib 库来发送电子邮件,使用 email 库来创建电子邮件内容。此外,你可以使用 schedule 库来安排每天发送邮件的任务。以下是一个示例脚本以及如何设置和运行它的指导。 步骤…

各种内部排序算法的比较及应用(插入排序、交换排序、选择排序、归并排序、基数排序)

目录 内部排序 前言 1.内部排序算法的比较 1.1各种排序算法的特点、比较和适用场景 1.2排序算法的稳定性判断及改进 1.3更适合采用顺序存储的排序算法 1.4根据排序的中间过程判断所采用的排序算法 1.5各种排序算法的性质 2.内部排序算法的应用 2.1选取排序算法时需要…