当前位置: 首页 > news >正文

GitLab教程(二):快速上手Git

文章目录

  • 1.将远端代码克隆到本地
  • 2.修改本地代码并提交到远程仓库
  • 3.Git命令总结
    • `git clone`
    • `git status`
    • `git add`
    • `git commit`
    • `git push`
    • `git log`

  • 首先,我在Gitlab上创建了一个远程仓库,用于演示使用Gitlab进行版本管理的完整流程:

在这里插入图片描述

1.将远端代码克隆到本地

  • 复制这个远端仓库ssh地址:

在这里插入图片描述

  • 在本地终端执行git clone xx地址命令:

在这里插入图片描述

  • 克隆成功后:
    .git文件夹存储着关于 Git 版本控制的信息。
    在这里插入图片描述

2.修改本地代码并提交到远程仓库

  • 本地新建一个file.txt文件,并写入内容:

在这里插入图片描述

  • 执行git status可以检查仓库的状态:

在这里插入图片描述

  • 执行git add(添加到版本控制)、git commit(进行提交)、git push(推送到远程仓库)将本地代码同步到远程仓库:

在这里插入图片描述

  • 远端显示同步成功:

在这里插入图片描述

  • 执行git log命令可查看当前仓库操作记录:

在这里插入图片描述

3.Git命令总结

在上文一共涉及到以下6个命令:

git clone

  • 用途:此命令用于从远程Git仓库下载代码库的完整拷贝到本地。当你想要在本地机器上拥有一个现有仓库的复制品并进行开发工作时,就会使用此命令。
  • 示例git clone https://github.com/username/repository.git
    • 这里,https://github.com/username/repository.git 是远程仓库的URL,username 是仓库所有者的用户名,repository 是仓库名。

git status

  • 用途:此命令用来查看当前工作目录和暂存区的状态。它会显示出哪些文件被修改了、哪些文件是新建的但未被跟踪(untracked)、哪些文件已经准备好被提交(staged)等信息。
  • 示例输出
    On branch main
    Your branch is up to date with 'origin/main'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   README.mdUntracked files:(use "git add <file>..." to include in what will be committed)new_file.txtno changes added to commit (use "git add" and/or "git commit -a")
    
    • 上述输出显示了README.md文件已被修改但未被添加到暂存区,同时存在一个未被Git跟踪的新文件new_file.txt

git add

  • 用途:此命令用于将文件的改动添加到暂存区(staging area)。在提交之前,通常会先使用git add来标记对文件所做的改动,表明你想要包含这些改动在下次提交中。
  • 示例git add .git add filename
    • git add . 将所有改动过的文件添加到暂存区。
    • git add filename 只将名为filename的特定文件添加到暂存区。

git commit

  • 用途:此命令用于将暂存区中的所有改动作为一个新的提交记录到仓库历史中。每次提交都会附带一条提交信息,说明此次提交做了哪些修改。
  • 示例git commit -m "Add feature X and fix bug Y"
    • -m 参数后跟提交信息,说明了本次提交的主要内容。

git push

  • 用途:此命令用于将本地仓库的提交推送到远程仓库,使得其他人可以看到你的提交和改动。
  • 示例git push origin main
    • origin 指定远程仓库的名字,通常是默认的远端仓库名。
    • main 是你要推送的分支名,也可以是其他分支名如masterdevelop等。

git log

  • 用途:此命令用于查看提交历史记录。它会展示一系列的提交记录,包括提交ID(哈希值)、作者、日期以及提交信息。
  • 示例输出
    commit a1b2c3d4e5f6g7h8i9j0klmno
    Author: John Doe <john.doe@example.com>
    Date:   Thu Feb 2 15:04:05 2023 +0800Add feature X and fix bug Y
    
    • 每个提交都有一个唯一的ID(上述示例中的a1b2c3...),这在查看历史、回退版本或比较变动时非常有用。

相关文章:

  • k8s学习--kubernetes服务自动伸缩之垂直伸缩(资源伸缩)VPA详细解释与安装
  • 【机器学习】机器学习重要分支——强化学习:从理论到实践
  • 【git使用三】git工作机制与命令用法
  • 大数据开发语言Scala入门
  • VScode中连接并使用docker容器
  • React基础教程:TodoList案例
  • 【探索Linux】P.34(HTTPS协议)
  • [AIGC] 解题神器:Python中常用的高级数据结构
  • GenICam标准(一)
  • Java基础知识巩固自测(上)
  • 大模型-人类病理学的语言视觉AI助手
  • DataWhale - 吃瓜教程学习笔记(一)
  • mybatis-plus使用拦截器实现sql完整打印
  • 一款经典BUCK DCDC降压芯片TPS5430适合24V转5V转12V及其电路图
  • Python 踩坑记 -- 调优
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Facebook AccountKit 接入的坑点
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js中的正则表达式入门
  • leetcode46 Permutation 排列组合
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • React+TypeScript入门
  • RxJS: 简单入门
  • 聊聊redis的数据结构的应用
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用权重正则化较少模型过拟合
  • 系统认识JavaScript正则表达式
  • 学习ES6 变量的解构赋值
  • 用jQuery怎么做到前后端分离
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​插件化DPI在商用WIFI中的价值
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • ###C语言程序设计-----C语言学习(3)#
  • $.proxy和$.extend
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (day6) 319. 灯泡开关
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (二)学习JVM —— 垃圾回收机制
  • (排序详解之 堆排序)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四) 虚拟摄像头vivi体验
  • (四)汇编语言——简单程序
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转) Android中ViewStub组件使用
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ../depcomp: line 571: exec: g++: not found
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .Net开发笔记(二十)创建一个需要授权的第三方组件