超详细的Linux环境下使用git上传代码教程(gitee版)

2023-11-17

git是一个版本控制器,我们使用它上传我们以前写过的代码给他进行托管,更为方便以后找到,同时也方便我们找到我们每次更改了什么。

创建仓库

在这里插入图片描述

创建完成后界面:

接下来复制我们创建的仓库的地址:
在这里插入图片描述


使用 git 命令行

安装 git:

	yum install git

 不是root权限还需要在前面加上sudo


Linux下的操作(git三板斧)

  1. 将远端的仓库(gitee)拉取到本地
	git clone +(远端仓库地址)

在这里插入图片描述
 最后就是这样:
在这里插入图片描述

在Linux下以 . 开头的文件是隐藏文件
	ls -al (展现所有文件包括隐藏文件)

在这里插入图片描述

.gitignore的作用:筛选出不能够上传的文件后缀
在这里插入图片描述

  1. 创建一个文件Test.cpp并写入Hello World!!

在这里插入图片描述

3. 三板斧第一招: git add

	git add [文件名]

 也可以直接这样, “.” 表示当前目录,

	git add .

在这里插入图片描述
 第一步操作,将原本没有的文件添加到本地仓库,放入.git中(add只是添加到临时区)

4. 三板斧第二招:git commit

	git commit -m +(日志信息)

 提交的时候应该注明提交日志, 描述改动的详细内容
在这里插入图片描述
 第二步操作:将文件提交到.git仓库中,-m 后面是提交日志,一定要写且不能乱写,这是为你以后方便找到提前做准备。

在这一步你可能出现这样的报错:

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <AMY@VM-12-15-centos.(none)>) not allowed

 它这里报错意思就是他不知道你的身份,无法识别你是谁,你只需要告诉git你是谁就行,方法如下:

//在当前提交目录下输入:
git config --global user.email "gitee邮箱"
git config --global user.name "用户名"

  注意是邮箱而不是之前的仓库地址,这个需要你在gitee的设置里面寻找,如果没设置邮箱需要设置。
完成以后继续commit操作就行了。

5. 三板斧第三招: git push

	git push

在这里插入图片描述
 第三步操作:将本地仓库与远端仓库同步,这一步才是彻底的提交
在这里插入图片描述


在远端修改了文件push不了怎么办

如果我们在gitee上面修改了我们以前push的文件,那么这个时候本地与远端就不同步了,这个时候我们需要先同步再push

同步操作:

	git pull

删除仓库已提交的文件

删除操作:

	git rm [要删除的文件名]

 我们删除以后需要再一次commit再一次push
在这里插入图片描述


git常见命令总结

  1. git init
    作用:创建一个新的 Git 存储库。这将创建一个在当前目录中调用的目录。此目录包含存储库的所有元数据,例如跟踪的文件列表、提交历史记录和分支信息。
    默认情况下,该目录处于隐藏状态。要查看它,使用该命令:.gitls -a

  2. git add
    作用:将文件添加到暂存区域。git add <file>: 将文件添加到暂存区。该暂存区域是即将提交到存储库的文件的临时保留区域。
    可用于将修改的文件和新文件添加到暂存区域。不会将忽略的文件添加到暂存区域。 可用于递归添加文件。如果将目录添加到暂存区域,则还将添加目录中的所有文件。

  3. git commit
    作用:此命令将暂存区域中的更改提交到存储库。提交是存储库在特定时间点的快照。
    git commit -m "<commit message>": 将暂存区的文件提交到本地仓库,并添加提交信息。
    不会提交尚未添加到暂存区域的更改。不会提交已忽略的更改。可用于一次提交多个文件。为此,可以将文件的名称指定为命令的参数。

  4. git status
    作用:显示工作树的状态。这包括已添加、修改或删除的文件,以及当前签出的分支。
    Changes to be committed:此消息表示已将更改添加到暂存区域并已准备好提交。
    Changes not staged for commit:此消息表示已对工作树进行了更改,但尚未添加到暂存区域。
    Untracked files:此消息表示存在 Git 未跟踪的文件。
    可用于显示任何分支的状态。 可用于分别显示工作树和暂存区域的状态。 可用于显示特定文件的状态。

  5. git log
    作用:显示提交历史记录。这将显示已对存储库进行的所有提交,以及作者、日期和描述更改的消息。
    SHA-1 hash:这是每个提交的唯一标识符。
    Author:这是提交人员的姓名。
    Date:这是提交完成的日期和时间。
    Message:这是对提交中所做的更改的描述。
    可用于查看任何分支的提交历史记录。 可用于查看特定文件的提交历史记录。 可用于按作者、日期或消息筛选命令的输出。

  6. git checkout
    作用:切换到其他分支。分支用于跟踪代码的不同版本。
    该选项用于创建新分支。-b
    参数是要切换到或创建的分支的名称。<branch-name>
    该参数是要将文件还原到的提交的哈希。<commit-hash>
    参数是要还原的文件的名称。<file-name>

  7. git merge
    作用:合并两个分支。这用于将来自两个不同分支的更改合并到一个分支中。
    若要合并两个分支:git merge <branch-name>
    要将分支合并到分支中:git merge feature-branch
    可用于合并任何两个分支,即使它们已明显分歧。 可用于将分支合并到自身中。 可用于将分支合并到标记中。

  8. git diff
    作用:显示文件的两个版本之间的差异。这可用于查看自上次提交文件以来对文件进行了哪些更改。
    运行该命令:git diff <file-name>
    要将文件的当前版本与上次提交时提交的版本进行比较: git diff README.md
    Unified diff: 这是命令的默认格式。它以统一的格式显示文件的两个版本之间的差异。
    Patch format: 此格式用于创建可应用于该文件的另一个副本的修补程序文件。
    Side-by-side diff:此格式并排显示文件的两个版本,并突出显示差异。
    可用于比较文件的任意两个版本,即使它们来自不同的分支或标记。 可用于比较目录。 可用于比较具有不同内容的文件。

  9. git push
    作用:将更改推送到远程存储库。远程存储库是托管在服务器上的存储库。这允许您与其他开发人员共享您的更改。
    提交推送到远程存储库,可以使用以下语法:git push <remote-name> <branch-name>
    要将提交推送到调用的远程存储库和调用的分支,请运行以下命令: git push origin master

  10. git pull
    作用: 从远程存储库拉取更改。 这用于使用远程存储库中的最新更改更新本地存储库。
    可用于将任何分支推送到远程存储库。 可用于一次将多个分支推送到远程存储库。 可用于将标签推送到远程存储库。

  11. git branch
    作用:显示当前所有分支。
    创建新分支,可以使用以下语法: git branch <branch-name>
    创建名为XX的新分支,应运行以下命令: git branch feature-branch
    列出存储库中的所有分支,可以使用以下命令:git branch
    重命名分支,可以使用以下语法:git branch -m <old-branch-name> <new-branch-name>
    将分支重命名为 ,应运行以下命令:git branch -m feature-branch new-feature-branch
    删除分支,可以使用以下语法: git branch -d <branch-name>
    删除分支 ,应运行以下命令: git branch -d new-feature-branch

  12. git stash
    作用:将当前工作目录的修改保存到一个暂存区,以便稍后恢复。
    若要存储更改:git stash
    这会将您的更改存储在存储中,这是 Git 存储库中的一个特殊区域。然后,您可以切换到其他分支或处理其他功能。
    若要重新应用隐藏的更改 :git stash apply
    可用于存储任意数量的更改。 可用于存储已暂存或取消暂存的更改。 可用于存储来自任何分支的更改。

  13. git tag
    作用:创建或显示标签,通常用于发布版本。 要在最新的提交上打一个标记,可以使用以下命令: git tag <tag-name>
    如果要在历史提交上打标签,则需要指定该提交的哈希值: git tag <tag-name> <commit-hash>
    使用git tag -a命令可以创建一个带有附注的标签,以便于描述该标签的信息。例如: git tag -a <tag-name> -m "<tag-message>"
    要创建一个名为的标记,该标记指向带有哈希的提交,您将运行以下命令:git tag v1.0.0 abc1234
    要列出存储库中的所有标签,您可以使用以下命令: git tag
    可以在任何提交上创建标记,即使已标记提交也是如此。可以将标记推送到远程存储库。可以对标记进行签名和验证。


如有错误或者不清楚的地方欢迎私信或者评论指出

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超详细的Linux环境下使用git上传代码教程(gitee版) 的相关文章

  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 哪个是更智能的 git 协议,ssh 或 git(通过 ssh)或 https 协议?

    哪个高效 SSH 或 Git 文件压缩 我对 Git 的理解是 git 协议很智能 因为通信两端都有一个协议代理来压缩文件传输 从而通过有效地使用网络带宽来实现更快的克隆 From 我发现了以下说法 For secure authentic
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • `git Reset HEAD file` 是否也检查该文件?

    我错误地向 git 添加了一个目录 当我按照提示操作时here https stackoverflow com questions 348170 undo git add通过执行以下操作来撤消添加git reset HEAD
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供

随机推荐

  • vector容器

    1 vector简介 vector 和 arry 非常相似 唯一存在的不同是 vector 是动态分配内存空间 随着元素的增加空间自动增加 但是 arry 是静态的 wector 单端动态数组容器 只允许在一端进行操作 2 vector的使
  • 力扣网题号:389找不同python 实现

    题目描述 给定两个字符串 s 和 t 它们只包含小写字母 字符串 t 由字符串 s 随机重排 然后在随机位置添加一个字母 请找出在 t 中被添加的字母 示例 输入 s abcd t abcde 输出 e 解释 e 是那个被添加的字母 一 题
  • ElementUI表单校验

    ElementUI表单校验 回忆jQuery表单校验是怎么做的 表单元素注册事件 事件绑定回调函数 在回调函数中获取用户输入的值 用js代码进行校验 用正则表达式进行校验 ElementUI校验 写校验规则 绑定校验规则
  • 扫码支付流程

    一 支付宝接入实现 1 流程 step1 用户在浏览器中访问商家网页应用 选择商品下单 确认购买 接口会调起支付宝客户端内的支付模块 此时会从商家网页应用跳转到支付宝客户端中并开始支付 支付完成后会跳转回商家网页应用内 最后商家展示支付结构
  • Redis之List类型原理和应用场景(三)

    Redis之List类型原理和应用场景 三 原理分析 由于C语言是没有list的设计 首先我们看一下普通双向链表结构 typedef struct listNode 前置节点 struct listNode prev 后置节点 struct
  • J1939协议中CAN ID 与PGN互换--遇到了广播报文

    Ref J1939 Explained A Simple Intro 2021 CSS Electronics Ref CAN 帧ID 与J1939 PGN 转换例子 horse 2007s的博客 CSDN博客 Ref 在J1939中多帧数
  • Linux下Docker安装mysql

    1 下载mysql镜像 访问 MySQL 镜像库地址 https hub docker com mysql tab tags 也可以用命令查看可用版本 docker search mysql 下载mysql镜像 默认下载最新稳定版 dock
  • C语言中putchar()函数的使用

    今天教C语言中的输入输出语句 对函数putchar 函数有些好奇 难道就只能输出char型的数据么 带着这样的疑问 在环境上进行了验证 验证结果还蛮有意思 共享一下 当我们定义一个变量a 并给a赋予0 255的值 很显然没有问题 如代码 i
  • ERP订单管理的操作与设计--开源软件诞生19

    赤龙ERP订单模块讲解 第19篇 用日志记录 开源软件 的诞生 点亮星标 祈盼着一个鼓励 博主开源地址 码云 https gitee com redragon redragon erp GitHub https github com red
  • GC算法原理

    JVM 垃圾回收原理 对于JVM的垃圾收集 GC 这是一个作为Java开发者必须了解的内容 那么 我们需要去了解哪些内容呢 其实 GC主要是解决下面的三个问题 哪些内存需要回收 什么时候回收 如何回收 回答了这三个问题 也就对于GC算法的原
  • sudo堆缓冲区溢出提权漏洞(CVE-2021-3156)

    0x01 漏洞描述 这个漏洞被披露于2021年1月26日 漏洞的载体是我们常用的sudo命令 当sudo通过 s或 i命令行选项在shell模式下运行命令时 它将在命令参数中使用反斜杠转义特殊字符 但使用 s或 i标志运行sudoedit时
  • CTF MISC解题思路BUUCTF MISC9-16刷题

    1 文件中的秘密 查看文件属性备注 flag 870c5a72806115cb5439345d8b014396 2 wireshark 使用wireshark打开文件 菜单 编辑 查找分组 搜索关键字flag 在数据包中找到flag 3 L
  • 量化交易系统框架

    转自 https www cnblogs com huangfuyuan category 1290537 html
  • 华为OD机试 - 最大花费金额(Python)

    题目描述 双十一众多商品进行打折销售 小明想购买自己心仪的一些物品 但由于受购买资金限制 所以他决定从众多心仪商品中购买三件 而且想尽可能的花完资金 现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额 输入描述 输入第一行为一维整型数
  • 【Git CMD】Git常用命令总结

    目录 0 git的工作区 暂存区 本地仓库和远程仓库 0 1 图解 0 2 解析 1 本地仓库 1 1 创建版本库 1 2 分支 1 2 1 查看本地仓库的分支信息 1 2 2 创建分支 1 2 3 切换分支 1 2 4 重命名分支 1 2
  • win10计算机无访问权限,win10系统提示无internet访问权限怎么办

    原标题 win10系统提示无internet访问权限怎么办 大家好 今天分享一篇来自小白系统官网 xiaobaixitong com 的图文教程 win10系统提示无internet访问权限怎么办呢 很多朋友反映在使用电脑的时候出现没有网络
  • 【C语言篇】数组作为函数参数

    一 一维数组作为函数参数 1 数组名当做函数实际参数 也是值传递 不过是传递的地址而已 include
  • adworld-web2

    web2 GFSJ0627积分 2金币 2 91最佳Writeup由 Robert Wei 提供 收藏 反馈 难度 2 方向 Web 题解数 108 解出人数 10185 题目来源 CTF 题目描述 解密 题目场景 http 61 147
  • SSM到底学了什么--SSM回顾

    SSM回顾 学习完MyBatis Spring和SpringMVC 个人进行一下回顾 看看还能记住多少 重点的地方一定要闭着眼睛都要写出来的 前面的笔记做得很详细 那里忘了点哪里哈哈哈哈 MyBatis框架笔记 Spring框架笔记 Spr
  • 超详细的Linux环境下使用git上传代码教程(gitee版)

    git是一个版本控制器 我们使用它上传我们以前写过的代码给他进行托管 更为方便以后找到 同时也方便我们找到我们每次更改了什么 创建仓库 使用 git 命令行 Linux下的操作 git三板斧 在远端修改了文件push不了怎么办 删除仓库已提