Git入门学习笔记

        Git 是一个非常强大的分布式版本控制工具

        在下载好Git之后,鼠标右击就可以显示 Git Bash 和 Git GUI,Git Bash 就像是在电脑上安装了一个小型的 Linux 系统!

1. 打开 Git Bash

2. 设置用户信息(这是非常重要的

        git config --global user.name "输入要设置的名字"

        git config --global user.email "输入要设置的邮箱"

查看配置信息

        git config --global user.name 

        git config --global user.email

3. 为常用的指令配置别名

        有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。

        1. 打开用户目录,创建 .bashrc 文件(注意,部分windows系统不允许我们创建以点开头的文件,可以使用命令行工具)

        打开 Git Bash ,执行 touch ~/.bashrc ,touch 类似于linux系统下的创建文件,~ 波浪号代表当前的根目录

获取本地仓库

        要使用 Git 对我们的代码进行版本控制,首先要先创建本地仓库

        1. 在电脑任意的位置创建一个空目录(例如 Test)作为我们的本地 Git 仓库。(可以使用命令行 touch ~/.Test,也可以直接在windows系统下右击创建文件)

        2. 进入这个目录中,点击右键打开 Git Bash 窗口

        3.  执行命令 git init

        4. 如果创建成功后可在文件下看到隐藏的 .git 目录

基本操作指令

        Git 工作目录下(这里简单说一下什么叫做工作目录,在之前创建的本地仓库中,除了 .git 文件之外的其他所有创建的文件都叫做工作目录)对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行 Git 的命令而发生变化。

        使用如下命令来控制状态之间的切换:

        1. git add        (工作区  -->  暂存区)

        1. git commit        (暂存区  -->  本地仓库)

查看修改的状态(status)

        作用:查看修改的状态:暂存区,工作区

        命令形式:git status

添加工作区到暂存区

        git add

提交暂存区到本地仓库

        git commit -m "注释内容"

查看提交日志(简单来说就是查看一个文件的修改历史)

        git log [option]

        option

                --all 显示所有分支

                --pretty=oneline 将提交信息显示为一行

                --abbrev-commit 使得输出的commitld更简短

                --graph 以图的形式显示

版本回退

        命令形式:git reset --hard commitID

                commitID 可以使用 git -log 或 git log 查看 (这里说一下如何在 命令行中进行复制粘贴,在没有进行特殊设置之前,选中即意味着复制,按下鼠标的滚轮,意味着进行粘贴,绝不会 ctrl + cv)

        如何查看已经删除的记录?

                git reflog

                这个指令可以看到已经删除的提交记录

分支

        几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的 Bug 修改、开发新的功能,以免影响开发主线。

        git branch 命令用来查看有哪些分支

        git branch + 分支名  即可用来创建另一个分支

        git checkout  切换分支

        git checkout -b 分支名  创建并切换到新的分支上

        git merge 分支名称(通常都是合并到master分支上)

        git branch -d b1 删除分支时,需要做各种检查

        git branch -D b1 不做任何检查,强制删除

解决冲突

        当不同分支同时修改同一行代码或者数据的时候,就会产生冲突,在合并分支的时候,Git 并不知道到底应该去执行哪个分支,此时,Git 就会将这个问题留给开发者。

        此时开发者就需要手动去解决冲突:

                1. 手动去处理文件冲突的地方

                2. 将解决完冲突的文件加入暂存区(add)

                3. 提交到仓库(commit)

开发中分支的使用原则与流程

        几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的 Bug 修改,开发新的功能,以免影响开发主线。

        master 分支:线上主分支

        develop 分支:开发的主要分支,最终合并到 master 分支上进行项目程序的上线(合并完之后一般不进行删除)

        feature 分支:分支的研发任务,完成后合并到 develop 分支(合并完成后一般删除掉)

 Git 远程仓库

        常用的托管服务(远程仓库)

        通过之前的学习,我们已经知道了 Git 存在两种类型的仓库,即本地仓库和远程仓库。那么如何去搭建 Git 远程仓库呢?我们可以借助互联网上提供的一些代码管理服务来实现,其中比较常用的有 GitHub,码云,GitLab等

        gitHub(https://github.com)

        码云(https://gitee.com)

        GitLab(https://about.gitlab.com)

首先自己创建远程仓库:

        git remote add origin git@gitee.com:cabk_xiao/git_test.git(这一命令行的意思就是说:remote add 远程添加到仓库 git@gitee.com:cabk_xiao/git_test.git ,并且设置名字为 origin)

        git remote 命令用于查看已经连接的远程仓库

        git push origin master 用于将本地仓库推送到远程仓库(这样一来本地仓库的代码就会被推送到远程仓库中)

在推送到远端的同时和远端分支建立了关联关系:

        --set--upstream 推送到远端的同时并且建立起和远端分支的关联关系

        git push --set-upstream origin master

        此命令表示当前分支已经和远端分支建立了关联,此后使用的时候可以省略分支名和远端名。

本地分支和远程分支的关联关系

        查看关联关系的时候我们可以使用:git branch -vv 命令

从远程仓库克隆(这个命令是我们平时使用最方便的)

        所谓克隆就是:当其他程序员将代码公开到 GitHub ,码云 ,GitLab 下时,我们可以直接去使用,通过克隆命令直接克隆远程仓库到本地

        git clone 远程仓库路径 本地目录

        ag. git clone https://gitee.com/czbk_zhang/git_test.git git-test(通过这样一个路径,就可以实现将远程仓库他人的代码克隆到本地进行使用)

 从远端仓库中拉取和抓取

        抓取命令:git fetch [remote name] [branch name]

                抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

        拉取命令:git pull [remote name] [branch name]

                拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch + merge

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS逆向进阶篇【去哪儿旅行登录】【下篇-逆向Bella参数JS加密逻辑Python生成】

目录: 每篇前言:引子——本篇目的1、 代码混淆和还原(1)单独替换:(2)整个js文件替换: 2、算法入口分析3、 深入分析(0)整体分析:(1&am…

在K8S集群中部署SkyWalking

1. 环境准备 K8S 集群kubectlhelm 2. 为什么要部署SkyWalking? 我也不道啊,老板说要咱就得上啊。咦,好像可以看到服务的各项指标,像SLA,Apdex这些,主要是能够进行请求的链路追踪,bug排查的利…

stressapptest源码剖析:主函数main解析和sat类头文件分析

主函数main解析和sat类头文件分析 一、简介二、入口函数main.cc剖析三、SAT压力测试对象接口和数据结构总结 一、简介 stressapptest(简称SAT)是一种用于在Linux系统上测试系统稳定性和可靠性的工具,通过产生CPU、内存、磁盘等各种负载来测试…

制造业数字化赋能:1核心2关键3层面4方向

随着科技的飞速发展,制造业正站在数字化转型的风口浪尖。数字化转型不仅关乎企业效率与利润,更决定了制造业在全球竞争中的地位。那么,在这场波澜壮阔的数字化浪潮中,制造业如何抓住机遇,乘风破浪?本文将从…

【3GPP】【核心网】【5G】5G核心网协议解析(一)(超详细)

1. 5G核心网概念 5G核心网是支撑5G移动通信系统的关键组成部分,是实现5G移动通信的重要基础设施,它负责管理和控制移动网络中的各种功能和服务。它提供了丰富的功能和服务,支持高速、低时延、高可靠性的通信体验,并为不同行业和应…

专科生去华为面试,后续来了。。。

专科生去华为面试,后续来了。。。 大家好,我是銘,全栈开发程序员。 今天我正上班呢,一个之前的同事给我发信息,说他去华为面试了,我听到这个消息有点懵逼,我和他是同一年毕业的,我…

基于粒子群优化算法的图象聚类识别matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于粒子群优化算法的图象聚类识别。通过PSO优化方法,将数字图片的特征进行聚类,从而识别出数字0~9. 2.测试软件版本以及运行结果展示 M…

StarRocks——中信建投统一查询服务平台构建

目录 一、需求背景 1.1 数据加工链路复杂 1.2 大数据量下性能不足,查询响应慢 1.3 大量实时数据分散在各个业务系统,无法进行联合分析 1.4 缺少与预计算能力加速一些固定查询 二、构建统一查询服务平台 三、落地后的效果与价值 四、项目经验总结…

用docker部署后端项目

一、搭建局域网 1.1、介绍前后端项目搭建 需要4台服务器,在同一个局域网中 1.2、操作 # 搭建net-ry局域网,用于部署若依项目 net-ry:名字 docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1#查看 docker network ls…

Elasticsearch:向量相似度计算 - 可笑的速度

作者:Chris Hegarty 任何向量数据库的核心都是距离函数,它确定两个向量的接近程度。 这些距离函数在索引和搜索期间执行多次。 当合并段或在图表中导航最近邻居时,大部分执行时间都花在比较向量的相似性上。 对这些距离函数进行微观优化是值…

鸿蒙实战开发:【SIM卡管理】

概述 本示例展示了电话服务中SIM卡相关功能,包含SIM卡的服务提供商、ISO国家码、归属PLMN号信息,以及默认语音卡功能。 样例展示 基础信息 介绍 本示例使用sim相关接口,展示了电话服务中SIM卡相关功能,包含SIM卡的服务提供商、…

力扣每日一题 用栈实现队列

Problem: 232. 用栈实现队列 文章目录 思路复杂度💖 朴素版💖 优化版 思路 👨‍🏫 路飞题解 复杂度 时间复杂度: 添加时间复杂度, 示例: O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例: O ( …