Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】

news2024/11/27 11:31:03

文章目录

  • 一、Git简介
  • 二、Git的下载安装
  • 三、Git常规命令
  • 四、新建本地仓库
  • 五、本地分支操作
  • 六、Git远程仓库
  • 七、远程仓库克隆、抓取和拉取
  • 八、总结
  • 九、学习交流


一、Git简介

Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:
本地仓库和远程仓库
工作流程如下
1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull)
2.从本地进行代码修改
3.在提交前先将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

二、Git的下载安装

官网下载地址:https://git-scm.com/download

    1. 选择开发环境,这里我以Windows为例
      在这里插入图片描述
    1. 选择对应的系统位下载
      在这里插入图片描述
    1. 安装时全部选择默认即可,安装完后进入某一个文件夹,出现如下情况即为安装成功!
      在这里插入图片描述

三、Git常规命令

  1. 初始化本地仓库
git init
  1. 查看文件状态
git status
  1. 将文件从工作区移至暂存区
    例如:git add test.txt,表示将文件test.txt放入到暂存区中
git add 文件名
  1. 将暂存区的文件提交到本地仓库
    例如git commit -m “add test.txt”,表示将暂存区的文件都提交到本地仓库,并备注“add test.txt”
git commit -m “备注”
  1. 查看提交版本记录
git log
  1. 查看历史操作记录
git reflog
  1. 版本回退,commitID为回退的ID号,ID号可用git log指令查看
git reset --hard commitID
  1. 起别名。在本机用户(例如我的:C/用户/18100)的目录下创建文件“.bashrc”,在该文件里输入指令起别名。例如:
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

即将git log --pretty=oneline --all --graph --abbrev-commit起别名为git-log,该语句意为git log的优化使用。

  1. 左键双击可选中字符表示复制,按下鼠标滚轮表示粘贴。

  2. 若不想让某些文件纳入git管理,则在工作目录中创建.gitignore文件,里面输入需要忽略的文件名。例如:忽略所有.a后缀的文件,则在.gitignore中编辑“*.a

四、新建本地仓库

    1. 新建一个文件夹作为测试使用
    1. 进入该文件夹,右键选择Git bash
    1. 在命令行中输入“git init”,初始化本地仓库
    1. 在命令行中输入“touch test.txt”,在仓库中创建一个文件,此时该文件处于工作区状态(一个文件想存储到本地仓库需要经过2个变换:工作区–>暂存区、暂存区–>本地仓库)
    1. 将文件放入暂存区中。输入命令“git add test.txt”,该命令表示将文件test.txt放入到暂存区中。
    1. 提交到本地仓库。输入指令“git commit -m "add test.txt"”,该命令表示将暂存区的文件都提交到本地仓库,并备注“add test.txt”

五、本地分支操作

    1. 查看本地分支
git branch
    1. 创建本地分支
git branch 分支名
    1. 切换分支
git checkout 分支名
    1. 直接切换到一个不存在的分支(创建并切换)
git checkout -b 分支名
    1. 合并分支,将“分支名”合并到当前的分支上
git merge 分支名
    1. 删除分支,需要做各种检查(推荐使用)
git branch -d 分支名
    1. 强制删除分支,无需任何检查
git branch -D 分支名

六、Git远程仓库

这里我以Gitee为例,建立远程仓库,Github、Gitlab等同理。

    1. 注册登录Gitee账号
    1. 在Gitee上创建仓库
      在这里插入图片描述
    1. 回到本地仓库Git bash上,输入命令“ssh-keygen -t rsa”,然后一直回车即可
    1. 获取公钥,继续输入命令“cat ~/.ssh/id_rsa.pub”,复制如下公钥
      在这里插入图片描述
    1. 回到Gitee,打开设置,进入SSH公钥,在公钥编辑框内输入粘贴到的公钥
      在这里插入图片描述
    1. 验证公钥是否配置成功。回到Git bash,输入“ssh -T git@gitee.com
    1. 到Gitee中复制仓库的SSH地址
      在这里插入图片描述
    1. 添加远程仓库,地址为上面复制的SSH地址,起别名为“origin”到git bash中输入“git remote add origin SSH地址
    1. 验证是否添加成功,查看远程仓库,输入指令“git remote
    1. 将本地仓库推送到远程仓库,输入指令“git push 远端名称 本地分支名:远端分支名”,例如git push origin master:master

以上推送到远程仓库的步骤可用改用“git push --set-upstream origin master”,意为当前分支与远端的master分支关联起来,并同时完成推送,即在以后的推送中可以直接使用“git push”完成推送。
Tips:git branch -vv:可查看分支的关联关系。

七、远程仓库克隆、抓取和拉取

  • 1. 克隆
    在计算机某文件夹中打开git bash,输入“git clone 仓库SSH地址 本地目录”,意为对远程仓库进行复制,存放到“文件夹”中,其中“本地目录”可省略,系统会自动生成一个目录。
  • 2. 抓取
    抓取命令“git fetch 远端名 远端分支”,即将远端仓库里的某个分支的更新都抓取到本地,不会合并,如果不指定远端名和分支名,则抓取所有分支。
  • 3. 拉取
    拉取命令“git pull 远端名 远端分支”,即将远端仓库的修改拉取到本地并会自动进行合并,等同于fetch+merge,如果不指定远端名和分支名,则拉取所有分支。

Tips:git merge origin/master”为将远程仓库的master分支合并到本地分支

八、总结

在这里插入图片描述
本地仓库:是在开发人员自己电脑上的Git仓库,存放我们的代码(.git 隐藏文件夹就是我们的本地仓库)
远程仓库:是在远程服务器上的Git仓库,存放代码(可以是github.com或者gitee.com 上的仓库,或者自己该公司的服务器)
工作区: 我们自己写代码(文档)的地方
暂存区: 在 本地仓库中的一个特殊的文件(index) 叫做暂存区,临时存储我们即将要提交的文件

Clone:克隆,就是将远程仓库复制到本地仓库
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库,并将代码 克隆到本地工作区

九、学习交流

学习交流 联系下方wx即可👇👇👇
在这里插入图片描述

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

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

相关文章

每日一博 - 闲聊SQL Query Execution Order

文章目录 SQL查询阶段关键字对结果集和性能的影响Flow小结 SQL查询阶段 在MySQL中,SQL查询的执行顺序可以分为以下几个阶段: 词法分析(Lexical Analysis):在这个阶段,MySQL首先将SQL查询文本分解成词法单元…

算法通关18关 | 回溯模板如何解决排列和单词搜索问题

1. 排列问题 题目 LeetCode46 给定一个没有重复数字的序列,返回其所有可能的全排列, 思路 排列问题的思路同样使用与字母大小写全排列LeetCode784。 元素在使用过一次的时候,在图中第二层的时候,还会再被使用,所以能…

从实时监控到智能洞察:Grafana 和 CnosDB 的无限潜力

在今天的数字化世界中,监控系统对于维护应用程序和基础设施的稳定性至关重要。本文将介绍如何使用 Grafana 和 CnosDB 构建强大的监控体系,以便实时监视性能、发现问题并采取及时的措施。 CnosDB已正式上架Grafana插件市场 Grafana:开源监控和…

C++ 类的继承特性简单运用

封装一个名为Shape(图形)的父类,从父类中派生两个子类,分别为Circle(圆形),Rect(矩形),父类拥有两个子类的共同特性,面积和周长,两个子…

buuctf crypto 【密码学的心声】解题记录

1.打开可以看到一个曲谱 2.看到曲谱中的提示埃塞克码可以想到ascii码,没有八可以联想到八进制,而八进制又对应着三位的二进制,然后写个脚本就好了 oct [111,114,157,166,145,123,145,143,165,162,151,164,171,126,145,162,171,115,165,143,…

UG\NX二次开发 获取曲面上指定点位置的uv参数 UF_MODL_ask_face_parm

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: UG\NX二次开发 获取曲面上指定点位置的uv参数 UF_MODL_ask_face_parm。 效果: 代码: #include "me.hpp"//parm[2] static void AskFaceUVP…

使用NSISW工具打包

程序使用VS2019Qt5.6.3开发工具编写。 已经有生成的32位Release文件夹 D:\work\版本\1.0.0\code\Release 文件夹内含: 关键是nsis.nsi 把nsis.nsi拖拽入下面的页面: 等待一段时间。打包成功。

随机密码生成器(Python)

随机密码生成器 想要生成一个随机密码,需要考虑下面两点: 1.字符集合 2.密码的位数 下面代码中引用了string模块和random模块,string.printable是string中的可打印字符,用strip函数首尾去掉空格;random模块用来取字符&…

JavaScript中循环遍历数组、跳出循环和继续循环

循环遍历数组 上个文章我们简单的介绍for循环,接下来,我们使用for循环去读取数据的数据,之前我们写过这样的一个数组,如下: const ITshareArray ["张三","二愣子","2033-1997","…

Java复习-多线程编程

多线程编程 解决并发访问的问题。 一. 继承 Thread 类实现多线程 1. 继承实现 继承thread类 class MyThread extends Thread{}覆写run主方法 多线程要执行的功能都应该在 run() 方法中定义。 class MyThread extends Thread { // 线程的主体类private String title;public…

Windows上Qt配置OpenCV(最简单版本无需自己编译-避坑必看)

文章目录 Windows上Qt配置OpenCV(最简单版本无需自己编译-避坑必看)1 前言2 软件安装2.1 安装qt2.2 安装OpenCV(分为vc版和mingw版)2.2.1 配置环境变量 3 Qt配置OpenCV3.1 创建一个项目(注意选择的是MinGW编译器还是MSVC编译器)msvc:mingw: 4 简单快捷添加OpenCV库的方法5 简单…

人类文明之光,历史上最伟大的10位程序员

21世纪,被称作计算机的时代,程序员是其中不可或缺的组成部分。不夸张的说,他们贡献改变了我们人类的整个文明进程。今天我们就来看看人类历史上最伟大的10位程序员。 丹尼斯里奇(Dennis Ritchie):C语言之父…

驱动开发--自动创建节点udev机制的实现过程分析

一,创建设备文件的机制 1,mknod:手动创建设备节点 2,devfs:创建设备节点的逻辑在内核空间,2.5版本后淘汰 3,udev:自动创建设备节点的机制,逻辑在用户空间,…

Linux编辑器-vim使用

文章目录 前言一、vim编辑器1、vim的基本概念2、vim的基本操作2.1 命令模式切换至插入模式2.2 插入模式切换至命令模式2.3 命令模式切换至底行模式 3、vim命令模式命令集3.1 移动光标3.2 删除文字3.3 复制与粘贴3.4 替换3.5 撤销上一次操作3.6 更改3.7 跳至指定的行 4、vim末行…

相关性分析-Pearson, Spearman, Kendall 三大相关系数+绘制热力图

相关性分析 1、Pearson 相关系数(连续变量)Pearson代码2、Spearman 秩相关系数(连续变量)Spearman代码3、Kendall 相关系数 (有序分类变量)Kendall代码Pearson, Spearman, Kendall 三类相关系数是统计学上的三大重要相关系数,表示两个变量之间变化的趋势方向和趋势程度。…

将Windows本地的数据集上传到Linux服务器

一、用MobaXterm软件 软件界面如下: 在左侧边栏中找到存放数据集的位置,点击上传按钮(这里只能上传单个文件),就可以完成上传了。 具了解上传速度为1M/s-22M/s. 其他方法待尝试,未完待续。。。。 点赞…

C语言实现三子棋游戏(详解)

目录 引言: 1.游戏规则: 2.实现步骤: 2.1实现菜单: 2.2创建棋盘并初始化: 2.3绘制棋盘: 2.4玩家落子: 2.5电脑落子: 2.6判断胜负: 3.源码: 结语&…

STLINK-V3 STDC14座转2.54mm排针转接板Kicad工程

简介 这是一个 STLINK-V3 STDC14座转2.54mm排针转接板Kicad工程 。STDC14座实际工作中不太方便,所以搞了这个转接板。另外转接版上提供了可选的电源输出功能。 An adapter board for STLINK-V3. It change the STDC14 to 2.54mm pin header.It also provides 5V an…

哪里可以了解轻量的工作流引擎?

如果想要实现高效率的办公,可以使用轻量的工作流引擎低代码技术平台。随着工作量日益繁重起来,传统的办公制作方式已经无法满足现实需要的,采用轻量级的表格制作工具,就能在无形中缓解办公压力,创造更高效、灵活、优质…

phpcmsV9.6.0sql注入漏洞分析

目录 前言 环境准备 漏洞点 看一看parse_str函数 看一看sys_auth函数 看一看get_one函数 全局搜索sys_auth($a_k, ENCODE) 查看哪里调用了 set_cookie 查看safe_replace函数 判断登录绕过 index的业务 加载modules/wap/index.php 加载modules/attachment/attachme…