【Linux】Linux命令行git的使用

news2025/1/16 17:50:11

前进才是唯一的方向
在这里插入图片描述

文章目录

  • 一、git是什么?
  • 二、gitee仓库创建
    • 1.新建仓库
    • 2.复制仓库链接
    • 3.克隆远端仓库到本地来
  • 三、git提交代码
    • 1.下载git
    • 2. 配置用户名和邮箱(否则git commit无法正常使用)
    • 3. git提交代码三板斧
      • 3.1 git add(将代码添加到本地仓库.git的临时区域)
      • 3.2 git commit -m(将代码提交到本地仓库.git里面)
      • 3.3 git push(同步本地仓库.git的内容到gitee上)
  • 四、其他扩展的git指令
    • 1.文件.gitignore是什么?
    • 2 git log(查看git的提交日志)
    • 3 git status(查看本地仓库的状态)
    • 4 git mv + git rm(修改和删除本地仓库的文件)
    • 5 git pull(拉取远端仓库所作的修改到本地仓库)



一、git是什么?

1.
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds雷纳斯托瓦兹为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

2.
说白了git就是一个进行项目版本管理的一个软件。

二、gitee仓库创建

1.新建仓库

1.在gitee的主界面右上角有新建仓库
在这里插入图片描述
2.对仓库进行信息配置
在这里插入图片描述

2.复制仓库链接

点击橙色按钮里的HTTPS链接进行仓库链接的复制

在这里插入图片描述

3.克隆远端仓库到本地来

git clone+仓库链接,就可以将远端仓库克隆到本地上

[wyn@VM-8-2-centos workdir]$ git clone https://gitee.com/raise-your-glass-to-the-moon/12_27fordebug.git
Cloning into '12_27fordebug'...
Username for 'https://gitee.com': 15598303669
Password for 'https://15598303669@gitee.com': 
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.

三、git提交代码

1.下载git

sudo yum -y install git

2. 配置用户名和邮箱(否则git commit无法正常使用)

1.下面是已经配置好的配置信息

git config --list // 查看git的配置列表

在这里插入图片描述
2.配置成全局,当前普通用户的所有本地仓库都有效,不仅仅是某个仓库。

git config --global user.name  "username"  // 名字缩写即可
git config --global user.email  "email"// 正常使用的邮箱

3.修改你的配置信息

git config --replace-all user.name "new-name"
git config --replace-all user.email "new-email"

4.查看git config的其他选项都有哪些功能

[wyn@VM-8-2-centos 12_27fordebug]$ git config
usage: git config [options]

Config file location
    --global              use global config file
    --system              use system config file
    --local               use repository config file
    -f, --file <file>     use given config file
    --blob <blob-id>      read config from given blob object

Action
    --get                 get value: name [value-regex]
    --get-all             get all values: key [value-regex]
    --get-regexp          get values for regexp: name-regex [value-regex]
    --replace-all         replace all matching variables: name value [value_regex]
    --add                 add a new variable: name value
    --unset               remove a variable: name [value-regex]
    --unset-all           remove all matches: name [value-regex]
    --rename-section      rename section: old-name new-name
    --remove-section      remove a section: name
    -l, --list            list all
    -e, --edit            open an editor
    --get-color <slot>    find the color configured: [default]
    --get-colorbool <slot>
                          find the color setting: [stdout-is-tty]

Type
    --bool                value is "true" or "false"
    --int                 value is decimal number
    --bool-or-int         value is --bool or --int
    --path                value is a path (file or directory name)

Other
    -z, --null            terminate values with NUL byte
    --includes            respect include directives on lookup

3. git提交代码三板斧

3.1 git add(将代码添加到本地仓库.git的临时区域)

利用*我们可以一次性将后缀为指定后缀的文件进行统一性的操作,例如下面我将所有后缀为.c和.h的文件统一剪切到process目录下面,然后我们就可以将当前目录添加到本地仓库.git的临时区域里面。

[wyn@VM-8-2-centos workdir]$ mv *.c process
[wyn@VM-8-2-centos workdir]$ mv *.h process
[wyn@VM-8-2-centos 12_27fordebug]$ git add .

3.2 git commit -m(将代码提交到本地仓库.git里面)

add是添加到仓库的临时区域,commit是提交到本地仓库里面

[wyn@VM-8-2-centos 12_27fordebug]$ ll
total 24
-rw-rw-r-- 1 wyn wyn 9592 Dec 27 09:40 LICENSE
drwxrwxr-x 2 wyn wyn 4096 Dec 27 10:04 process
-rw-rw-r-- 1 wyn wyn  859 Dec 27 09:40 README.en.md
-rw-rw-r-- 1 wyn wyn  948 Dec 27 09:40 README.md
[wyn@VM-8-2-centos 12_27fordebug]$ git commit -m "这是第一次提交代码"

3.3 git push(同步本地仓库.git的内容到gitee上)

所谓的本地仓库,本质就是目录和目录里面的内容,这个目录名字叫.git,push到远端,本质就是将.git里面的内容同步到gitee上面,同步之后的gitee上其实也有一个.git的目录,只不过gitee是不允许我们看到这个目录的。

[wyn@VM-8-2-centos 12_27fordebug]$ git push
Username for 'https://gitee.com': 15598303669
Password for 'https://15598303669@gitee.com': 
Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 584 bytes | 0 bytes/s, done.
Total 5 (delta 2), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/raise-your-glass-to-the-moon/12_27fordebug.git
   0f71a6a..1f9b73a  master -> master

四、其他扩展的git指令

1.文件.gitignore是什么?

凡是在这个文件内部的后缀所对应的文件,都不会被上传到gitee上!

  [wyn@VM-8-2-centos 12_27fordebug]$ vim .gitignore 
  1 *.sln  添加了.sln后缀,作为.gitignore文件的改动
  2 # Prerequisites
  3 *.d
  4 
  5 # Compiled Object files
  6 *.slo
  7 *.lo
  8 *.o
  9 *.obj
 10 
 11 # Precompiled Headers
 12 *.gch
 13 *.pch
 14 
 15 # Compiled Dynamic libraries
 16 *.so
 17 *.dylib
 18 *.dll
 19 
 20 # Fortran module files
 21 *.mod                                                                                                                                                                 
 22 *.smod
 23 
 24 # Compiled Static libraries
 25 *.lai
 26 *.la
 27 *.a
 28 *.lib
 29 
 30 # Executables
 31 *.exe
 32 *.out
 33 *.app

2 git log(查看git的提交日志)

[wyn@VM-8-2-centos process]$ git log
commit 64e37f98443db1be25ee2a34a4cef39b24db8602
Author: wyn <wang.ya.nan2022@outlook.com>
Date:   Tue Dec 27 14:40:34 2022 +0800

    删除.txt后缀的文件

commit 1e28723cf0ef7d6b1ce5887df56e25655bd11748
Author: wyn <wang.ya.nan2022@outlook.com>
Date:   Tue Dec 27 14:25:40 2022 +0800

    rename file

commit 02deaf907420261dc19fe61aba3acbf1ec422107
Author: wyn <wang.ya.nan2022@outlook.com>
Date:   Tue Dec 27 14:18:51 2022 +0800

    修正了部分野指针的bug

commit d46c141392ab63ca70cdf545feec3a287e9a0177
Author: wyn <wang.ya.nan2022@outlook.com>
Date:   Tue Dec 27 10:39:21 2022 +0800

    这是我的第一次提交

commit 14b1e1e46acdda069e87fbadaf6c0b3177dbeb80
Author: 举杯邀明月 <wang.ya.nan2022@outlook.com>
Date:   Tue Dec 27 01:38:23 2022 +0000

    Initial commit

3 git status(查看本地仓库的状态)

1.
第7行的modified内容表示我们刚刚修改过文件.gitignore的内容
第9行的Untracked代表未被管理的文件,这些文件是仓库中没有的文件

2.
当你同步完所有你在本地仓库的改动文件之后,系统会说没有什么commit了,因为你已经把最新的本地仓库的所有改动全部同步到远端仓库了

[wyn@VM-8-2-centos process]$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   ../.gitignore
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	Makefile
#	test.txt
no changes added to commit (use "git add" and/or "git commit -a")


[wyn@VM-8-2-centos 12_27fordebug]$ git status
# On branch master
nothing to commit, working directory clean

4 git mv + git rm(修改和删除本地仓库的文件)

[wyn@VM-8-2-centos process]$ git mv test.txt hello.txt
[wyn@VM-8-2-centos process]$ git rm -f hello.txt

远端仓库全都已经最新同步了

在这里插入图片描述
在这里插入图片描述

5 git pull(拉取远端仓库所作的修改到本地仓库)

1.
首先我们需要知道,我们是可以在远端仓库进行修改的

在这里插入图片描述
2.
如果远端仓库已经做了修改,但是还没有同步到本地仓库,这个时候如果本地仓库想要继续push本地仓库所做的修改到远端,就会直接报错,系统会强制我们先同步远端仓库所作的修改

[wyn@VM-8-2-centos 12_27fordebug]$ git push
Username for 'https://gitee.com': 15598303669
Password for 'https://15598303669@gitee.com': 
To https://gitee.com/raise-your-glass-to-the-moon/12_27fordebug.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitee.com/raise-your-glass-to-the-moon/12_27fordebug.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

3.
所有我们必须要同步远端仓库所做的修改到本地仓库

[wyn@VM-8-2-centos 12_27fordebug]$ git pull

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

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

相关文章

git merge合并开发分支到上线分支遇到的问题,提示 no new changes

git merge 后 push 到 Gerrit 失败&#xff0c;提示 no new changes 解决思路&#xff1a; 分析&#xff1a;no new changes 的意思&#xff0c;是说&#xff0c;这个合并&#xff0c;是个线性的合并。而合并的那些历史的 commit 节点&#xff0c;在 gerrit 上都已经评审过了&…

在Linux中安装ShowDoc

在Linux中&#xff0c;有两种方式安装ShowDoc。第一种是自动脚本安装&#xff0c;第二种是手动安装。官方推荐使用自动脚本安装ShowDoc。如果自动脚本安装ShowDoc失败&#xff0c;可以考虑手动安装ShowDoc。 自动脚本安装ShowDoc 自动脚本利用docker来安装运行环境&#xff0…

酒鬼私定,只是酒鬼酒一次破圈营销?

围坐红泥小火炉&#xff0c;煮酒谈今夕。 过去一年多时间&#xff0c;经历了业绩向上&#xff0c;股市向下的反差时期后&#xff0c;越来越多人意识到白酒行业已步入存量时代。 2022年前三季度&#xff0c;中国规模以上白酒行业实现总产量487.9万千升&#xff0c;同比减少2.5…

proxychains for Windows

proxychains for Windows背景介绍项目地址使用scoop安装proxychains for windows验证命令行能否调用proxychains配置代理使用为Windows终端配置proxy--适用于cmd为Windows终端配置proxy--适用于PowerShellpowershell配置变量背景介绍 有时候Windows下的一些命令行程序想要挂代…

正大国际期货:外盘德指期货交易应该怎么做?

作为一个期货交易者&#xff0c;想要在市场上生存下来&#xff0c;就必须针对各种可能性都有所准备。比如&#xff0c;如果你强烈看涨&#xff0c;就必须准备好应对市场打你个冷不防的可能。相反&#xff0c;如果你对眼前的涨势高度怀疑&#xff0c;也不能彻底排除上演一场黑天…

ElasticSearch安装和部署和整合springboot

因为项目每次用到&#xff0c;每次重新搭都踩坑&#xff0c;特此记录一些坑&#xff0c;防止花费大量时间在搭建和整合上面安装 准备好压缩包elasticsearch-6.2.4解压 在config文件夹下配置文件elasticsearch.yml&#xff0c;可更改自行喜欢的端口和配置账号密码安装中文分词器…

git笔记

coderwhy听课笔记 什么是集中式 分布式 集中式是将整个仓库放到服务器&#xff1b;分布式是每台电脑上都有对应的仓库&#xff0c;可以在本地提交&#xff0c;之后把本地的仓库同步到服务器的仓库里 git安装 除了能使用git命令&#xff0c;还安装了git bash,git GUI git ba…

mysql数据库有关教程

我们打开Navicat 我使用的是16版本的,我们选择连接,我们新建连接 这里会有菜单栏目,比如说常规,高级,数据,SSL,SSH HTTP 其他的我们先不看,后期有机会我会解释的,先看常规 连接名字,就是你可以自己命名一个名字,也可以不写,比如说连接名字 studentdemo1 主机默认是localhos…

NetInside网络攻击分析帮您轻松发现可疑主机

分析概要 分析概要从以下三点做介绍。 分析内容 NetInside网络流量分析设备采集的流量。 分析时间 报告分析时间范围为&#xff1a;2020-09-28 07:58:00-11:58:00&#xff0c;时长共计3小时。 分析目的 本报告主要分析目的&#xff1a;查找和定位存在可疑现象的主机、查…

SHELL脚本学习 --- 第二天作业

SHELL脚本学习 — 第二天作业 思路&#xff1a; 这四道题都有条件判断的过程&#xff0c;可以使用if&#xff0c;也可以使用与运算。 linux的shell脚本中&#xff0c;与运算前一个命令执行成功&#xff0c;则执行后一个命令&#xff0c;反之则不执行&#xff0c;因此可以起到类…

cdb.exe的利用

cdb.exe的利用 0x01 简介 cdb 是安装 windows debugging tools 时自带的一个命令行调试工具&#xff0c;由微软签发证书。 0x02 cdb.exe加载shellcode ​ cdb.exe是调试工具&#xff0c;可以用来调试指定进程&#xff0c;并且可以在指定进程里分配RWX属性内存并写入shellcod…

临近年底,如何提高软件项目开发效率和开发速度?

1、任务自动分配功能 提高开发效率 为了提高团队的整个任务分配效率&#xff0c;CoCode自主研发任务“自动规划”功能&#xff0c;会根据当前任务属性以及人员技能登记等信息&#xff0c;实现迭代计划的一键规划&#xff0c;为项目经理智能规划出最优的项目计划以及人员工作安排…

ROS1学习笔记:服务数据的定义与使用(ubuntu20.04)

参考B站古月居ROS入门21讲&#xff1a;服务数据的定义与使用 基于VMware Ubuntu 20.04 Noetic版本的环境 文章目录一、模型图二、创建功能包三、自定义服务数据3.1 在package.xml中添加功能包依赖3.2 在CmakeLists.txt中添加编译选项3.3 编译生成的C文件和Python库四、代码实现…

DSPE-PEG-NPC 二硬脂酰基磷脂酰乙醇胺-聚乙二醇-NPC ;功能聚乙二醇化试剂

DSPE-PEG-NPC 二硬脂酰基磷脂酰乙醇胺-聚乙二醇-NPC 名称&#xff1a;DSPE-PEG-NPC 中文名称&#xff1a;二硬脂酰基磷脂酰乙醇胺-聚乙二醇-NPC 英文&#xff1a;1,2-distearoyl-sn-glycero-3-phosphoethanolamine-N-(polyethylene glycol)-NPC 性状&#xff1a;PEG2000为白色…

高校房产管理平台架构及安全性需求分析

数图互通高校房产综合管理平台是基于公司自主研发的FMCenterV5.0平台&#xff0c;是针对中国高校房产的管理特点和管理要求&#xff0c;研发的一套标准产品&#xff1b;通过在中国100多所高校的成功实施和迭代&#xff0c;形成了一套成熟、完善、全生命周期的房屋资源管理解决方…

Educational Codeforces Round 99 (Rated for Div. 2) D. Sequence and Swaps

翻译&#xff1a; 您将得到一个序列&#x1d44e;&#xff0c;该序列由&#x1d45b;个整数&#x1d44e;1、&#x1d44e;2、…、&#x1d44e;&#x1d45b;和一个整数&#x1d465;组成。您的任务是使序列&#x1d44e;排序(如果条件&#x1d44e;1≤&#x1d44e;2≤&…

java突发内存和CPU同时100%排查解决

问题说明 springBoot 微服务项目&#xff0c;生产环境突然CPU和内存使用率都100%&#xff0c;导致接口请求超时。 初步排查 接口慢首先排除数据库和慢sql的影响&#xff0c;本次问题是所有接口同事慢&#xff0c;不是单个接口&#xff0c;所以不是数据库问题。大面积接口慢很…

【BP靶场-服务端】SQL注入-17个实验

目录 一、SQL意义 1、目的&#xff1a; 2、示例&#xff1a; 二、检索隐藏数据 实验1&#xff1a;隐藏商品 三、颠覆应用程序逻辑 实验2&#xff1a;登陆逻辑 四、从其他数据库表中检索数据 实验3&#xff1a;判断列 实验4&#xff1a;判断字段对应位置 实验5&#…

门控循环单元(GRU)

门控循环神经网络可以更好地捕获时间步距离很长的序列上的依赖关系。 重置门有助于捕获序列中的短期依赖关系。 更新门有助于捕获序列中的长期依赖关系。 重置门打开时&#xff0c;门控循环单元包含基本循环神经网络&#xff1b;更新门打开时&#xff0c;门控循环单元可以跳…

2023年广东数据分析师CPDA认证招生简章(理论+实战)

CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证&#xff0c;它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者&#xff0c;具有广泛的社会认知度和权威性。 无论是地方政府引进人才、公务员报考、各大企业选聘人才&#xff0c;还是招投标加…