Git基本使用

news2024/9/21 10:38:57

目录

一、Git基础

1.Git与Github

2.注册Github账号并安装Git

二、Git的使用

1.本地仓库

进行全局配置:

创建仓库:

Git常用操作指令:

 版本回退:

 2.远程仓库

 两种常规使用方式:

 分支管理:

冲突的产生与解决:

三、Git实用技能

1.图形管理工具

2.忽略文件操作


一、Git基础

1.Git与Github

Git是一个分布式版本控制系统,简单地说就是一个软件,用于记录一个或若干文件内容变化,以便查阅特定版本修订情况的软件。

Github是一个为用户提供Git服务的网站,简单来说就是一个可以存放东西的地方;Github除了提供管理Git的web界面外,还提供了订阅、关注、讨论组、在线编辑器等丰富的功能。

2.注册Github账号并安装Git

打开官网https://github.com/,点击sign up注册

打开官网https://git-scm.com/,点击download选择对应的系统下载安装包,双击安装,默认选项一直点next即可,完成后右击桌面显示Git GUI Here和Git Bash Here选项即安装成功。

二、Git的使用

1.本地仓库

Git本地操作的三个区域:

Git Repository(Git仓库):最终确定的文件保存到仓库,成为一个新的版本并对他人可见;

暂存区:暂存已经修改的文件最后统一提交到Git仓库中;

工作区(Working Directory):添加、编辑、修改文件等动作。

进行全局配置:

桌面右键单击,打开Git Bash Here命令行窗口输入(Ctrl+c/v不管用,可以右键进行复制粘贴)

$git config --global user.name “用户名”

$git config --global user.email “邮箱地址”

可以输入$git config --global user.name和$git config --global user.email测试是否设置成功。

创建仓库:

注意:可以使用非空目录创建仓库,路径中避免出现中文。

a.新建文件夹,cd 目录名进入文件夹。

b.git init初始化,查看隐藏项目,多出.git文件夹。

Git常用操作指令:

查看当前状态:git status

添加至缓存区:git add 文件名

-如果一次添加多个文件,文件名用空格隔开

-git add. 表示添加当前目录到缓存区

提交至版本库:git commit -m “注释内容”

新建readme.txt

 版本回退:

a.查看版本,确定需要回到的时间点(两个指令区别是查找后显示格式不一样)

git log

git log --pretty=oneline

b.回退操作

git reset --hard 版本号

 c.回到过去之后,要想再回来需要输入指令git reflog查看历史操作,得到最新的git reflog,再通过回退操作回到指定版本

-此处可见,写指令时commit id(版本号)可以不用写全,git会自动识别,但不能写太少,建议至少写4位

 2.远程仓库

此处以Github为例

登录后进入首页,点击Create repository,填写信息并创建

 两种常规使用方式:

(1)基于http协议

新建一个文件夹(最好与Github上的同名),进入目录并使用“git clone 线上仓库地址”指令克隆线上仓库到本地,再cd进入目录

 

在仓库上做对应的操作(提交暂存区、提交本地仓库、提交线上仓库、拉取线上仓库):

本地操作的三个指令此处依旧适用,不同的是执行完后需要再执行git push提交到线上,如果这时弹出登录框则需要登录,如果出现403错误,则需要鉴权:

修改.git/config文件

[remote "origin"]

url = https://github.com/用户名/仓库名.git

修改为

[remote "origin"]

url = https://用户名:密码@github.com/用户名/仓库名.git

 

 刷新浏览器,就能看见上传的内容了。

拉取线上仓库:git pull

(注意:上班git pull,下班git push)

(2)基于SSH协议

此方式的操作与http相同,只是对于用户身份的鉴权方式不同。

执行生成公私钥对指令(需安装OpenSSH):ssh-keygen -t rsa -C “注册邮箱”,生成客户端公私钥文件,打开对应路径的.pub文件并复制;

将公钥上传到Github,点击下图所示链接,将复制内容粘贴在key栏,填写title,提交后就可执行后续操作。

 分支管理:

我们每次提交都会有记录,Git把它们串成时间线,形成类似于时间轴的东西,这个时间轴叫做master分支。开发时是多人合作,分支可以让每个人负责各自的模块,互不干扰。

相关指令:

查看分支(当前分支前会有小标记):git branch

创建分支:git branch 分支名

切换分支(上传文件,文件会存在当前分支上):git checkout 分支名

创建并切换分支:git checkout -b 分支名

删除分支(非当前所在分支):git branch -d 分支名

合并分支:git merge 被合并的分支名

冲突的产生与解决:

当你提交一次后,同事又进行提交,而你在没有git pull的情况下再次提交就会产生冲突。

解决:提交出错提示(e.g ‘git pull...’)before pushing again后先git pull,git会将线上与本地仓库的冲突合并到对应文件中;打开冲突文件,与同事协商修改后再次上传。

三、Git实用技能

1.图形管理工具

Github for Desktop、Source tree、TorToiseGit、右键单击桌面的Git GUI Here

2.忽略文件操作

项目目录下有很多不需要改动的文件,或是即便改动也不希望被提交的文件,我们可以使用“忽略文件”机制实现需求。新建一个.gitignore文件,用于声明规则,规则对当前目录及子目录生效(由于只有文件类型没有文件名,可以通过touch .gitignore命令创建)。

常用规则写法(注释以#开头):

忽略login文件夹:/login/

忽略所有.zip文件:*.zip

忽略某个具体文件:/login/index.js

不忽略某个具体文件:!index.js

(视频:B站黑马程序员)

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

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

相关文章

python http模块快速搭建“简单”服务器笔记

极简运行 python -m http.sever或 # test.py import http.server import socketserverPORT 8000Handler http.server.SimpleHTTPRequestHandlerwith socketserver.TCPServer(("", PORT), Handler) as httpd:print("serving at port", PORT)httpd.serve…

m基于matlab的光通信的信道估计,均衡,抑制papr误码率仿真,对比ZF,RLS,MMSE三种算法

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 可见光通信的信道估计,均衡,抑制papr。 不考虑光信道,用传统的无线通信的OFDM的信道估计,均衡,抑制papr 信道估计,均衡最…

解决Windows RDP远程桌面连接同时多用户连接不互踢不干扰问题及rdp wrapper windows版本不受支持问题.

注意: 如果你当前正在通过RDP方式远程连接到你要更改设置的目标计算机,请在目标计算机上安装其他远程控制软件.防止RDP因在此过程中挂掉无法连接. 下载: 使用GitHub - stascorp/rdpwrap: RDP Wrapper Library开源软件 转到Release 最新版本的是1.6.2,原作者没有更新的了.好…

MySQL中count(*)和information_schema.tables中的table_rows值不相同

前两天我还在高高兴兴地写了一篇文章《一条SQL查询出MySQL数据库中所有表的数据量大小》,心想这也太方便了,只用一条SQL就能统计出所有表的数据量,但没想到,最终还是翻车了。。。 翻车过程如下: 有一张表&#xff0c…

【多目标进化优化】 MOEA 测试函数

声明 本文内容来源于 《多目标进化优化》 郑金华 邹娟著,非常感谢两位老师的知识分享,如有侵权,本人立即删除,同时在此表示,本文内容仅学习使用,禁止侵权,谢谢! 注:本文…

HTML+CSS制作简单的家乡网页 ——我的家乡介绍广东 web前端期末大作业

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

基于STM32单片机的温度报警器(数码管)(Proteus仿真+程序)

编号:26 基于STM32单片机的温度报警器(数码管) 功能描述: 本设计由STM32F103单片机最小系统DS18B20温度传感器数码管显示模块声光报警模块独立按键组成。 1、主控制器是STM32F103单片机 2、DS18B20温度传感器测量温度 3、数码管显示温度值&…

数字化改革“1612”详解

背景 2021年2月18日,浙江省开始数字化改革建设,通过一年的建设,取得了光辉成绩。2022年2月28日,在省数字化改革推进大会,回顾一年来数字化改革的主要成效,研究部署2022年数字化改革目标任务,在…

Spring框架(六):SpringTransaction事务的底层原理、xml配置和注解配置

SpringTransaction事务的底层原理、xml配置和注解配置引子Spring事务入门搭建Test环境基于XML的方式配置事务Spring事务的隔离级别Spring事务的传播行为通过Annotation方式配置Spring的事务引子 痛定思痛,主要问题出现在自己雀氏不熟悉框架底层、一些面试题&#x…

【源码分析】Springboot启动流程源码分析

1.简介 springboot版本:2.7.2 SpringApplication类是用来执行Spring框架启动的引导类。 有两种方式可以进行启动引导: 通过静态方法SpringApplication.run启动。先创建SpringApplication实例,在调用的实例方法run进行启动。 无论是以上哪种…

资源管理管理

资源管理目录概述需求:设计思路实现思路分析1.PMI hr的理念2.双因素的理论3.马斯洛的需求层析理论4.延伸5.X,Y理论Z 理论期望理论:亚当斯公共理论边际福利,光环效应,额外待遇,皮的原理,KISS原理…

阿里P9大牛带你在简历上写精通Spring与Boot高级功能

前言 蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员&#…

QT - 模型与视图

经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。 MVC 不是一…

银行 测试|测试开发 面试真题|面经 汇总

招银测开面经 一面 1.面向对象3大特征 2.java是否能多继承,怎么实现多继承 3.抽象类 4.数据库特性,隔离级别 5.sql语句查找 6.static关键字的使用 7.手撕:寻找字符串出现频率最高的字符 8.代码改进和测试 二面 1.先闲聊了几句&…

Python面向对象编程

本篇内容: 1、反射  2、面向对象编程  3、面向对象三大特性  4、类成员  5、类成员修饰符  6、类的特殊成员  7、单例模式 反射 python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改四个函数分别用于对对象…

m基于GA遗传算法的高载能负荷响应优化控制模型matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 高载能企业执行子站接收负荷调整指令后,需将有功功率、无功功率调整总量合理分配给各用能设备/系统。研究高载能负荷响应优化控制模型,建立以高载能企业响应效益最优为目标…

ccf序列查询新解python满分_纯数学规律(学霸怎么想到的啊......)

题目 思路和代码 这题我也就看了好几个小时吧。终于!有点懂了! 上午看懂了用双指针写《下一个排序》后就在看这题。70分的代码很好写也很好想,就是模拟fx和gx,然后遍历一趟,得到最终的结果。 看了学霸的代码&#x…

使用桥梁振动自动识别车辆(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

Qt在线安装教程(详细图文)

Qt在线安装教程(详细图文一、前言二、QT账号的注册三、QT的安装的镜像四、安装的过程一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Qt在线安装。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、QT账号…

js-mark新时代的网页标记容器

js-mark 🖍️️ ✨ 它提供了一组可交互操作的工具来注释网页内容 ✨🖍️ js-mark是一个JavaScript库,用于在浏览器。他是一个可以在任何网页做标记的前端库, 它提供了一组可交互操作的工具来注释网页内容。 支持标记文本和 持久化存储与还原…