版本控制工具-git的基本使用

news2024/9/19 10:42:36

目录

  • 前言
  • 一、git简介
  • 二、git工作流程
  • 三、安装git并配置git
    • 3.1 配置用户名和邮箱
    • 3.2 配置.gitignore文件(可选)
    • 3.3 配置ssh key(可选)
  • 四、git基本命令
    • 4.1 创建本地仓库
    • 4.2 将工作区内容提交到本地仓库
    • 4.3 将本地仓库内容推送到远程仓库
  • 参考文献

前言

本篇文章介绍git的一般工作流程,需要读者具备linux操作系统的常用命令

一、git简介

Git是一个开源的分布式版本控制软件,常用于项目的版本管理
Git是Linux Torvalds为了帮助管理Linux内核开发而开发出来的一个版本控制软件

二、git工作流程

git的工作流程如下图所示:
在这里插入图片描述

工作区:一般指某个目录下除了.git文件的其他空间
暂存区:一般指保存在 .git 目录下的 index 文件
本地仓库:一般指某个目录下的.git文件
远程仓库:一般指保存在远程服务器的.git目录

在这里插入图片描述

三、安装git并配置git

git下载和安装过程这里不一一赘述,读者可根据自己的操作系统选择对应的版本下载并安装就可以。
下面主要叙述git的配置
注意:以下操作都是在git客户端提供的命令行界面下

3.1 配置用户名和邮箱

为了让项目管理者了解本地仓库的提交记录,需要配置用户名和邮箱

git config --global user.name 用户名
git config --global user.email 邮箱

想要查看配置后的结果

git config --list

3.2 配置.gitignore文件(可选)

配置.gitignore的作用是可以过滤文件,让本地仓库忽略这些文件
step1 在用户目录创建.gitignore文件

touch ~/.gitignore
在用户目录创建一个.gitignore文件

假设您的操作系统是windows,则会在以下目录生成.gitignore文件

C:\用户\用户名\.gitignore

step2 在.gitignore文件配置过滤规则,读者根据自己的需求配置

#利用vi编辑.gitignore文件
vi ~/.gitignore

step3 将.gitignore文件配置到git

git config --global core.excludesfile ~/.gitignore

3.3 配置ssh key(可选)

step1 在用户目录生成.ssh文件,这个文件包含一个私钥文件和公钥文件

#将工作目录切换到用户目录
cd ~/
#生成.ssh文件
ssh-keygen -t rsa -C "youremail"

step2 查看公钥内容,复制公钥内容

#切换到.ssh目录下
cd ~/.ssh/
#查看公钥的内容
cat id_rsa.pub

step3 将复制的公钥内容配置到对应的代码托管平台,例如gitee和github,这里为gitee

在这里插入图片描述

四、git基本命令

4.1 创建本地仓库

方式一 在本机手动创建本地仓库

git init
在某个工作区初始化一个本地仓库

step1 在本机选择一个目录作为一个本地仓库的工作区
step2 在工作区下使用git init命令初始化一个本地仓库

方式二 从远程服务器克隆一个仓库
step1 在本机选择一个目录作为一个本地仓库的工作区
step2 在工作区下使用git clone命令,从远程服务器克隆一个仓库作为本地仓库

git clone <远程仓库URL>
在某个工作区克隆一个远程仓库

4.2 将工作区内容提交到本地仓库

step1 将工作区内容添加到暂存区,以便本地仓库对工作区的内容进行追踪

git status
在添加之前,可以查看工作区有哪些内容需要被追踪


方式一
git add 文件
将工作区需要被追踪的内容添加到暂存区

git add .
把工作区所有内容添加到暂存区

step2 将暂存区的内容提交到本地仓库,以便本地仓库可以与工作区的内容保持一致

git commit -m '注释' 
将暂存区的内容提交到本地仓库

4.3 将本地仓库内容推送到远程仓库

step1 将远程仓库的URL保存到本地仓库

git remote -v
查看本地仓库保存的远程仓库URL

git remote add 远程仓库名 远程仓库URL

说明:
远程仓库名是为了在本机操作方便而给远程仓库起的别名,所以一般也称为别名

step2 拉取远程仓库内容到本地仓库,推送之前保持两者的一致性

git pull --rebase 远程仓库名 远程仓库分支名:本地仓库分支名

说明:
将远程仓库分支与本地仓库分支进行合并
如果合并的是当前分支,则可简写为

git pull --rebase 远程仓库名 远程仓库分支

step3 将本地仓库内容推送到远程仓库

git push 远程仓库名 本地仓库分支名:远程仓库分支名

说明:
将本地仓库的分支与远程仓库分支进行合并
如果本地仓库分支名与远程仓库分支名相同,则可简写为

git push 远程仓库名 远程仓库分支名

参考文献

[1] https://blog.csdn.net/qq_29493173/article/details/113094143
[2] https://blog.csdn.net/f_957995490/article/details/130850727

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

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

相关文章

Python数据分析-对驾驶安全数据进行预测

一、研究背景和意义 随着汽车保有量的不断增加&#xff0c;交通事故已成为全球范围内的重大公共安全问题。每年因交通事故造成的人员伤亡和财产损失给社会带来了巨大的负担。为了提高驾驶安全&#xff0c;减少交通事故的发生&#xff0c;许多研究致力于探索影响驾驶安全的因素…

C++ | Leetcode C++题解之第190题颠倒二进制位

题目&#xff1a; 题解&#xff1a; class Solution { private:const uint32_t M1 0x55555555; // 01010101010101010101010101010101const uint32_t M2 0x33333333; // 00110011001100110011001100110011const uint32_t M4 0x0f0f0f0f; // 000011110000111100001111000011…

这就是算法:日常生活中的算法应用

日常小例 当我们一听到“算法”这个词&#xff0c;脑海里可能立刻浮现出数学公式和复杂计算的画面。 但事实上&#xff0c;算法并不总是那么高深莫测&#xff0c;很多算法其实是基于我们日常生活中随处可见的基本逻辑。 在深入讨论算法之前&#xff0c;我想先分享一个让人好…

python基础语法 003-2 数据类型字典

1 字典 1.1 字典的表示 字典&#xff1a;也是存储多个数据的&#xff0c;存储多个数据&#xff0c;不记得第二个存储什么用字典&#xff0c;存储多个数据首推列表&#xff1b; 1.1.1 表示方法&#xff1a; {‘key’ : value},用逗号隔开 #列表表示 my_songs [花海, 棉花糖…

2023国家最高科学技术奖薛其坤院士:科学家的幸福感来自于哪里

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨沛贤 深度好文&#xff1a;2000字丨8分钟阅读 6 月 24 日&#xff0c;2023 年度国家最高科学技术奖在京揭晓&#xff0c;薛其坤院士荣获中国科技界崇高荣誉&#xff0c;这不…

pyCharm项目更改目录后,执行路径未更新的解决办法

最头疼环境问题。 换电脑&#xff0c;原python脚本打成zip包&#xff0c;全部拷贝到新电脑上。一开始放到路径A下&#xff0c;不清楚是路径太长还是路径含有中文&#xff0c;执行失败。于是&#xff0c;更换到路径B&#xff0c;结果&#xff0c;仍然执行失败。Run中显示的信息…

【大数据】—量化交易实战案例双均线策略(移动平均线)

声明&#xff1a;股市有风险&#xff0c;投资需谨慎&#xff01;本人没有系统学过金融知识&#xff0c;对股票有敬畏之心没有踏入其大门&#xff0c;今天用另外一种方法模拟炒股&#xff0c;后面的模拟的实战全部用同样的数据&#xff0c;最后比较哪种方法赚的钱多。 量化交易…

天途重磅推出无人机教管平台3.1版及飞课APP

天途无人机教管平台&#xff0c;是一款为院校和培训机构等企业级客户提供的公开版无人机在线培训系统&#xff0c;包含后台管理的【教管平台】和终端的【掌上天途APP】。 天途历经4年上百次调研和迭代打磨&#xff0c;已为一百多家院校和培训机构等企业级客户解决了无人机教学和…

【2024最新版】Windows11 23H2中文家庭版:免费下载!

Windows 11 23H2中文家庭版系统拥有稳定的性能、丰富的功能和卓越的安全性&#xff0c;很多用户都喜欢给自己的电脑安装上这个版本。但是&#xff0c;许多新手用户不清楚在哪里才能下载到Windows11家庭版&#xff1f;接下来小编给大家带来2024年最新的Windows 11 23H2中文家庭版…

基于rouyi框架的多租户改造

基于rouyi框架的多租户改造&#xff0c;重点是实现权限管理和数据隔离。权限管理相当于从原来的“顶级管理员admin-普通用户user”转变为“顶级管理员admin-租户管理员tanantAdmin-普通用户user”。数据隔离主要通过分库、分表、表内设置tenantId字段进行过滤三种方式。 本文主…

前端项目外包出去,是我痛苦的开始。如何破?

不止一个老铁给我反馈&#xff0c;他们把其前端项目外包出去&#xff0c;非常的痛苦&#xff0c;远不如用自己的员工省心。明面上钱省了&#xff0c;实际精力大量耗费在上面&#xff0c;一算账并没省&#xff0c;反而闹了一肚子气&#xff0c;问我这事该如何破&#xff1f;其实…

IEEE Signal Processing Letters投稿记录

0.写在前面&#xff1a; 该期刊4页正文&#xff0c;第5页只能是参考文献&#xff0c;篇幅紧凑。 最多只有一次小修机会&#xff0c;或者直接接收。网上说平均审稿周期是2.7个月。 祝愿大家都能如愿&#xff0c;一次接收&#xff01; 期刊网址&#xff1a;投稿 投稿网址&…

被忽视的商机:全民拼购模式如何助力企业实现惊人业绩

在当今的商业环境中&#xff0c;一个被大多数人忽视但实则蕴藏着巨大潜力的模式正在悄然崭露头角。不同于传统商业模式的惯性思维&#xff0c;这一模式在细节上进行了巧妙的调整&#xff0c;带来了意想不到的效果。我的一位客户便凭借这一策略&#xff0c;实现了令人瞩目的业绩…

Java项目毕业设计:基于springboot+vue的幼儿园管理系统

数据库:MYSQL5.7 **应用服务:Tomcat7/Tomcat8 使用框架springbootvue** 项目介绍 管理员&#xff1b;首页、个人中心、用户管理、教师管理、幼儿信息管理、班级信息管理、工作日志管理、会议记录管理、待办事项管理、职工考核管理、请假信息管理、缴费信息管理、幼儿请假管理…

轻松驾驭多云存储,不再为文件流转烦恼,可道云teamOS带你走进便捷的多云时代

不知道大家有没有遇到过这样的问题&#xff1a;使用了不同云平台的存储&#xff0c;但不同的平台存储就存在文件不流通、共享困难、管理困难等问题。 对于这种情况&#xff0c;我们该如何进行资源整合&#xff0c;实现不同挂载存储之间的文件管理与流转&#xff1f; 这些问题…

Linux基础 - shell基础

目录 零. 简介 一、常见的 Shell 类型 二、Shell 命令格式 三、基本命令 四、通配符 五、重定向 六、管道 七、变量 八、条件判断和流程控制 零. 简介 Shell 是一种命令解释器&#xff0c;在 Ubuntu 系统中&#xff0c;它负责接收用户在命令行中输入的命令&#xff0c…

AI大神 Sebastian Raschka 发布新书《从零开始构建大语言模型》

Sebastian 热衷于开源软件&#xff0c;还喜欢写作&#xff0c;撰写了畅销书《Python Machine Learning》&#xff08;《Python 机器学习》&#xff09;和《Machine Learning with PyTorch and ScikitLearn》。 最近&#xff0c;Sebastian Raschka 发布了新书《Build a Large L…

pytorch神经网络训练(LeNet-5)

LeNet-5 导包 import osimport torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderfrom PIL import Imagefrom torchvision import transforms 定义自定义图像数据集 class CustomImageDataset(Dataset):def __init_…

Git的安装以及使用

一.简单介绍 1.1版本控制 版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理&#xff0c;是软件配置管理的核心思想之一。 版本控制最重要的内容是追踪文件的变更&#xff0c;它将什么时候&#xff0c;什么人更改了文件的什么内容等信息忠实的记录…

社交小心机:特别的动态给特别的她/他

在社交媒体盛行的今天&#xff0c;微信朋友圈成了我们分享生活点滴的重要平台。 但是&#xff0c;你是否有过这样的烦恼——有些动态只想和特定的人分享&#xff0c;而不是所有人&#xff1f;别担心&#xff0c;今天我就来教大家如何巧妙地设置朋友圈权限&#xff0c;让你的分…