【git进阶使用】 告别只会git clone 学会版本控制 ignore筛选 merge冲突等进阶操作

git使用大全

  • 基本介绍
  • git 快速上手
    • 一 环境安装(默认已安装)
    • 二 远程仓库克隆到本地
      • 1 进入rep文件夹目录
      • 2 复制远程仓库地址
      • 3 git clone克隆仓库内容到本地
      • 4 修改后版本控制
        • 4.1 修改文件
        • 4.2 git status查看版本库文件状态
        • 4.3 git add将文件加入版本库暂存区
        • 4.4 git commit -m "修改1"将修改保存到本地仓库
        • 4.5 git push 推送到远程仓库
  • 可能会遇到的问题
    • 如何配置账户信息?
    • 关于输入密码(认证信息错误)
    • 新建账户 push
      • 查看仓库统计信息
      • 设置用户名和邮箱地址
        • 1 添加
        • 2 修改
        • 3 删除
        • 4 查看
    • 三 未创建远程仓库后对本地文件版本控制
  • 参考

基本介绍

本人之前使用git没有展开系统学习,只会简单的git clone和push、pull绑定公钥、创建账户等入门操作,对于版本控制回溯,.ignore过滤,多人协同开发merge,创建dev和main开发和产品分支等工作中常用的场景功能不太熟悉,所以记录一下自己的进阶学习。

git 快速上手

本来想先介绍一下git的远程仓库和本地仓库上传,怕一上来太多大道理直接劝退了,还是直接开干,爬代码吧!学会怎么cv后再回过头来看会简单许多。

一 环境安装(默认已安装)

首先默认大家都安装好git环境了,没有安装的小伙伴直接搜个教程安装就好了,安装之后cmd输入git有这个界面就表示成功了。桌面右键也会有git bash
在这里插入图片描述
在这里插入图片描述

二 远程仓库克隆到本地

桌面有一个rep空文件夹,现在需要把gitee远程仓库克隆到此文件夹下

1 进入rep文件夹目录

右键目录 选择 Git Bash
在这里插入图片描述
进入到此界面
在这里插入图片描述

2 复制远程仓库地址

在这里插入图片描述

3 git clone克隆仓库内容到本地

输入 git clone [仓库地址]
显示done 100% 表示克隆成功。

查看目录结构
在这里插入图片描述

打开rep文件夹查看变化,此时文件夹下多了git-learn文件夹,就是clone下来的仓库,和仓库文件结构相比多了一个.git文件夹。
在这里插入图片描述
.git文件夹就是用来实现版本控制的关键,具体细节可以参考官方文档。
在这里插入图片描述
此时你就可以愉快的更改代码了

4 修改后版本控制

4.1 修改文件

新增了a.txt 文件,并在文件中写入 a.txt
在这里插入图片描述

4.2 git status查看版本库文件状态

git status表示版本库文件的修改状态

  • 1 新增文件的状态
    在这里插入图片描述
    下面是对指令的详细翻译,为什么我要分别翻译一下?因为对于初学者这个时候就需要了解一下,版本追踪,分支,远程仓库,commit等概念了。这里可以不必深究,知道有这个东西就行,之前我也只是不求甚解会用就行。
On branch master  表示在master分支
Your branch is up to date with 'origin/master'. 
origin远程仓库下的master分支
Untracked files:  未进行版本追踪文件(use "git add <file>..." to include in what will be committed)    
使用“git add <file>...”包含要提交的内容a.txt 
nothing added to commit but untracked files present (use "git add" to track)没有添加任何内容到提交,但存在未跟踪的文件(使用“git add”来跟踪)

显示 a.txt为红色,表示未进行版本控制

4.3 git add将文件加入版本库暂存区

在这里插入图片描述

根据提示使用git add添加本地文件到暂存区,这里稍微解释一下暂存区的概念,git进行版本控制分为了 远程仓库和本地仓库,我们进行commit操作是将文件先上传到本地仓库,然后再上传到远程仓库。
在这里插入图片描述
简而言之,即暂存区Stage建立了文件和.git/objects目录下的对象实体之间的映射关系,只是一个简单的索引文件而已。指的是是 .git/index文件

  • 注意区分 暂存区和本地仓库的关系

可以参考一下大佬的图解

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

带思维导图
Git 命令行操作 https://zhuanlan.zhihu.com/p/362100222

另一个大佬的图解
在这里插入图片描述
来源:https://zhuanlan.zhihu.com/p/263050507

4.4 git commit -m "修改1"将修改保存到本地仓库

直接使用git commit会打开vm编辑器,不太熟悉的小伙伴可能又懵逼了。

1 按 i 进入插入模式,在第一行输入想要的说明
2 按Esc退出插入模式后
3 输入:wq 保存退出
4 退出不了输入:wq! (!表示强制保存退出)

更多vm语法自己可以去官网深入学习
在这里插入图片描述
所以建议初学者使用git commit -m "修改信息"的方式,再冒号内直接修改信息, -m表示message的意思。

再次输入 git status查看版本控制状态,显示nothing to commit 表示都已经进行了版本控制,说明没有文件可以进行版本控制,修改都已经提交到本地仓库了。
在这里插入图片描述

4.5 git push 推送到远程仓库

git push 推送修改到远程仓库
so easy啊
下图就表示推送成功啦
在这里插入图片描述
git remote [选项]
作用:设置或读取远程仓库相关的内容

使用git remote -v 查看远程仓库信息

查看远程仓库变化
在这里插入图片描述
可以看到添加进来了a.txt 并且显示了备注信息。

可能会遇到的问题

如何配置账户信息?

由于我之前已经配置好了gitee账户信息,很多小伙伴可能没有,就会出现报错

控制面板下搜凭据管理器 找到gitee账号信息,删除账户信息
在这里插入图片描述
此时修改a.txt后重新提交 看看报错。
在这里插入图片描述
git add .

“.” 表示本目录,会自动找被修改过的文件

在这里插入图片描述
可以看到commit之后push会弹出需要我输入gitee账户信息的操作,输入正确的账号密码之后
在这里插入图片描述
显示push成功
在这里插入图片描述
此时凭据管理器会把gitee账号信息长期保存,之后push都不用重新输入了!!!牛逼

关于输入密码(认证信息错误)

进入凭据管理器,修改账户信息,账号或者密码随便加个东西。重新push看看报错
在这里插入图片描述
显示账号或者密码错误,此时只需要重新改成正确的就行了

新建账户 push

查看仓库统计信息

进入仓库/统计 可以看到只有一个用户提交信息
在这里插入图片描述
新建一个用户重新push
git config -h 查看config
-h表示help
在这里插入图片描述

  • 配置文件等级:
  • global 用户级
  • system 系统级
  • local 项目级

这里我们使用local,配置只对当前库有效的角色,对于很多库多角色使用时很有用。

设置用户名和邮箱地址

新建一个用户alan重新提交代码 ,因为没有被修改,所以没有东西被提交。

切换用户:git config --local user.name “xxx”
在这里插入图片描述
查看用户信息
在这里插入图片描述

编辑a.txt 进行第三次修改
在这里插入图片描述
git push到远程仓库
在这里插入图片描述

查看远程仓库统计信息
在这里插入图片描述
此时提交信息新增了’alan’
我有点不顺眼这两个冒号,修改成alan,因为之前是双引号"alan" 所以用户名为’alan’

使用如下指令进行修改用户名然后查看用户名

git config --local --replace user.name 'alan'
git config user.name

在这里插入图片描述
切换账户为,第四次修改a.txt后再push
在这里插入图片描述
git界面
在这里插入图片描述
查看仓库统计信息
在这里插入图片描述
码飞用户进行了第四次提交

1 添加

git config --local user.name ‘abc’
git config --local user.email ‘abc@xxx.com’

2 修改

(1)覆盖的形式

 git config --global user.name "yourName"git config --global user.email "your@email.com"

(2)替换的形式

git config --global --replace-all user.name "yourName" 
git config --global --replace-all user.email "your@email.com"

3 删除

git config --global --unset user.name "yourName"
git config --global --unset user.email "your@email.com"

4 查看

(1)查看所有

git config --list

(2)查看指定信息

git config user.name
git config user.email

三 未创建远程仓库后对本地文件版本控制

场景: 创建了本地文件,git未创建仓库
在这里插入图片描述

参考

1 图解Git操作,一篇就够 https://zhuanlan.zhihu.com/p/263050507
2 Git 命令行操作 https://zhuanlan.zhihu.com/p/362100222
3 添加、修改、删除以及查看本地git的用户名和邮箱 https://blog.csdn.net/womeng2009/article/details/101124910
4 【忽略文件版本控制gitignore详解,git-ignore精讲教程,2022年最新git基础使用,git进阶教程,git必备技能】 https://www.bilibili.com/video/BV1EG4y1Z7WW/?share_source=copy_web&vd_source=fe6c23f6f1353ed1eff5d5e866171572

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

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

相关文章

圣诞桌面装饰软件Xmas snow for Mac

Xmas snow for Mac是专为Mac用户所设计的圣诞桌面装饰软件&#xff0c;Xmas snow Mac版在您的桌面用下雪的方式来告诉你圣诞新年倒计时。您可以使用Xmas snow Mac破解版在您的桌面上添加圣诞树、圣诞花环、雪花、倒计时&#xff0c;您还可以每小时聆听圣诞节的曲调哦&#xff0…

c语言 桌面下雪程序,用C++写的在桌面上飘雪的特效程序

#include〈windows.h〉 #include〈time.h〉 #include〈stdlib.h〉 #include〈iostream.h〉 const int SnowNumber=500; //雪点数量 struct SnowNode {POINT postion; //雪点位置 int iColor; //先前的颜色 int iSpeed; //下落速度 int iMove; //下落距离 int iStick; //粘贴度 …

Linux/Unix桌面趣事:让桌面下雪

在这个节日里感到孤独么?试一下 Xsnow 吧&#xff01;它是一个可以在 Unix/Linux 桌面下下雪的应用。圣诞老人和他的驯鹿会在屏幕中奔跑&#xff0c;伴随着雪片让你感受到节日的感觉。 我第一次安装它还是在 13、4 年前。它最初是在 1984 年 Macintosh 系统中创造的。你可以用…

一个让桌面下雪的小程序(并非屏幕保护)

以前见到过一个有趣的小程序&#xff0c;叫snow,可以在桌面上下雪&#xff0c;学还可以在窗体边缘、图像边缘堆积&#xff0c;关键是并非屏幕保护&#xff0c;可以边下雪便运行其它程序。 我就用VB模仿了一个。先贴上效果图&#xff1a; 源代码 Private Declare Function GetDC…

桌面下雪软件测试工程师,Snow Flakes屏幕下雪动态屏保 模拟真实降雪情景的屏保程序...

《Snow Flakes屏幕下雪动态屏保》是一个完美模拟真实降雪情景的屏幕保护程序&#xff0c;可以让你的电脑在没有动作时下起片片雪花&#xff0c;也会随着时间而在工作列上堆积起冰来&#xff0c;相当真实。 Snow Flakes屏幕下雪屏保支持在设置视窗中可以依个人喜欢自行设置风势的…

JavaSE实现桌面屏幕下雪功能

效果图&#xff1a; 使用的是Java AWTUtilities API 建议使用JDK1.8 开发工具 IDEA所有代码如下 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import com.sun.awt.AWTUti…

linux桌面下雪,一个让桌面下雪的ruby 小程序 snow

[Ruby]代码 #!/usr/bin/env ruby # -*- coding: gb18030 -*- # 2011-3 #ruby 1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32] #gem 1.6 #gem install win32-api windows-pr windows-api cstruct #比如要使用 GetDC这个API时,搜索包含文字GetDC的文件在这个目录: D:\Ruby18\…

桌面下雪小程序 WIN32

想起以前还没有上大学的时候&#xff0c;过圣诞节&#xff0c;有同学发了一个桌面下雪的小程序。当看到效果的&#xff0c;哇&#xff0c;当时觉得好高端&#xff0c;就想什么时候我也能写出这么一个程序。学了计算机之后&#xff0c;发现这完全可以实现。于是就准备写一个&…

linux命令画圣诞树图片,Linux如何用Xsnow命令让桌面显示下雪特效

Linux系统下其实有很多有趣的命令&#xff0c;利用这些命令可以达到一些特别的效果。比如说Xsnow&#xff0c;可以让桌面下雪。具体应该怎么实现呢&#xff1f;一起来看一下吧。 方法如下&#xff1a; 一、安装 xsnow Debian/Ubuntu/Mint 用户用下面的命令&#xff1a; $ sudo …

桌面下雪程序的编写

一&#xff0e; 综述 考虑到雪花将会很多&#xff0c;并且每个雪花都有自己的行为路径&#xff0c;统一处理比较麻烦&#xff0c;因此自定义一个类CSnowflake&#xff0c;它所呈现的主要接口有两个&#xff1a;下落和“死亡”判断。下落路径由雪花对象自身处理&#xff0c;主框…

桌面下雪软件测试工程师,Xsnow - 在Ubuntu 18.04及更高版本的桌面上下雪

原标题&#xff1a;Xsnow - 在Ubuntu 18.04及更高版本的桌面上下雪 Xsnow&#xff0c;让它在你的桌面上下雪吧&#xff0c;现在正在Ubuntu 18.04或更高版本的Gnome, KDE, FVWM桌面上工作。 Xsnow是一个方便的命令工具&#xff0c;可以将圣诞节带到您的桌面。但是&#xff0c;它…

linux桌面下雪,分享|Linux/Unix 桌面趣事:让桌面下雪

在这个节日里感到孤独么&#xff1f;试一下 Xsnow 吧。它是一个可以在 Unix/Linux 桌面下下雪的应用。圣诞老人和他的驯鹿会在屏幕中奔跑&#xff0c;伴随着雪片让你感受到节日的感觉。 我第一次安装它还是在 13、4 年前。它最初是在 1984 年 Macintosh 系统中创造的。你可以用…

桌面下雪软件测试工程师,Win7系统如何设置桌面下雪屏保?

一个好看的屏保会带给用户一个好的心情&#xff0c;有很多用户包括小编都很喜欢让桌面下雪的屏保&#xff0c;但是有很多用户并不知道要如何设置桌面下雪屏保&#xff0c;下面&#xff0c;小编就来教教大家在Win7系统下设置桌面下雪屏保的方法。 方法/步骤 1、下载解压缩“桌面…

圣诞节到了!!你的桌面下雪了吗?? - Qt趣味开发之让你的桌面下雪

圣诞节到了&#xff0c;写个桌面下雪的程序庆祝一下。过节也是要有仪式感的&#xff01;&#xff01; 显示效果如下&#xff1a; 具有如下功能&#xff1a; 托盘菜单&#xff0c;可以配置、关于作者、退出。可以配置是否下雪、烟花效果&#xff0c;配置雪的浓度和下降的速度…

vue2 路由进阶,VueCli 自定义创建项目

一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话&#xff0c;需要给当前跳转的导航加样式&#xff0c;同时要移除上一个a标签的样式&#xff0c;太麻烦&#xff01;&#xff01;&#xff01; 2.解决方案 vue-router 提供了一个全局组件 router…

【springboot】Spring Cache缓存:

文章目录 一、导入Maven依赖&#xff1a;二、实现思路&#xff1a;三、代码开发&#xff1a; 一、导入Maven依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><…

sql:SQL优化知识点记录(四)

&#xff08;1&#xff09;explain之ref介绍 type下的ref是非唯一性索引扫描具体的一个值 ref属性 例如&#xff1a;ti表先加载&#xff0c;const是常量 t1.other_column是个t1表常量 test.t1.ID&#xff1a;test库t1表的ID字段 t1表引用了shared库的t2表的col1字段&#x…

【算法训练-链表】反转链表、区间反转链表、K个一组反转链表

从今天开始进行高频算法的训练&#xff0c;一方面训练自己的逻辑思维&#xff0c;一方面保持自己的竞争力。训练过程有这么两个基准原则&#xff1a; 首先训练题的来源呢有三个&#xff0c;首选的是三个都出现过的高频题&#xff0c;以&#xff1a;牛客101为基准分类&#xff…

梯度下降算法简单理解:一阶泰勒展开式,梯度下降数学原理

目录 梯度下降算法简单理解 一阶泰勒展开式 梯度下降数学原理 梯度下降算法简单理解 梯度下降算法的公式非常简单&#xff0c;”沿着梯度的反方向&#xff08;坡度最陡&#xff09;“是我们日常经验得到的&#xff0c;其本质的原因到底是什么呢&#xff1f;为什么局部下降最…

Oracle的学习心得和知识总结(二十九)|Oracle数据库数据库回放功能之论文三翻译及学习

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《Oracle Database SQL Language Reference》 2、参考书籍&#xff1a;《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…