git新手使用教程

news/2024/11/8 17:32:37 标签: git

git新手使用教程

    • 一、安装和初始化配置
    • 2、新建仓库
    • 3.工作区域和文件状态
    • 4.添加和提交文件
    • 5 git reset回退版本
    • 6 使用git diff查看差异
    • 7 使用git rm删除文件
    • 8 .gitignore忽略文件
    • 9 注册GitHub账号
    • 10 SSH配置和克隆仓库
    • 11 关联本地仓库和远程仓库
    • 12 Gitee的使用

由B站视频教程整理而来。建议配合视频使用。

一、安装和初始化配置

安装教程地址
安装完成后,使用命令git -v查看安装版本
1.配置用户名:
终端输入git config --global user.name "your name",将替换成你的用户名(一般就和gitee上的用户名一致就行)
2.配置邮箱:
终端输入git config --global user.email "your email",将替换成gitee绑定的邮箱
3.保存用户名和密码,这样就不用每次都输入了:
终端输入git config --global credential.helper store
4.查看配置信息:终端输入git config --global --list
在这里插入图片描述

2、新建仓库

git init:将当前目录初始化为一个仓库
git init my-repo在当前目录下初始化一个名为my-repo的仓库
在这里插入图片描述

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

3.工作区域和文件状态

工作区就是自己在电脑上编写代码文件的初始位置,通过git add命令将自己编写的代码文件添加到暂存区,再通过git commit命令将暂存区中的文件提交到本地仓库。
在这里插入图片描述
在这里插入图片描述

4.添加和提交文件

git init:创建仓库
git status:查看仓库的状态
git add:添加到暂存区
git commit:提交
代码示例如下:
在这里插入图片描述
在这里插入图片描述
总结:

git status:查看仓库的状态
git add:添加到暂存区。
                也可以使用通配符,例如:git add *.txt
                也可以使用目录,例如:git add .
git commit: 提交
                 只提交暂存区中的内容,不会提交工作区中的内容
git log查看仓库提交历史记录
git log --oneline查看仓库的简洁提交记录

git_reset_45">5 git reset回退版本

为了使得Git Bash样式改为一行显示,进行了如下修改

默认情况下在windows中安装git之后bash界面是这样的,也就是命令输入框会换行显示,看起来非常别扭。
在这里插入图片描述
为了跟linux bash一样,实现同行显示,只需要修改一下配置文件即可,,打开Git Bash,在命令行中输入:

vim ~/.bash_profile

填入以下内容

export PS1="\[\e[37;40m\]\[\e[32;40m\]\u\[\e[37;40m\]@\W\[\e[33;40m\]\$(__git_ps1 ['%s'])\[\e[32;40m\]\$\[\e[0m\] "

保存之后重启(效果如下):
在这里插入图片描述
正文开始:
reset命令用于回退版本,可以退回到之前的某一个提交的状态。
git reset的三种模式,区别在于保留或丢弃工作区和暂存区的内容。
在这里插入图片描述
第一步创建三个文件,进行了三次提交:
在这里插入图片描述
验证软回退:
在这里插入图片描述
验证硬回退:
在这里插入图片描述
验证混合回退:
在这里插入图片描述

git_diff_74">6 使用git diff查看差异

在这里插入图片描述
git diff:比较工作区与暂存区
git diff HEAD:比较工作区与版本库
git diff --cached:比较暂存区与版本库
git diff <commit_hash> <commit_hash> /:比较不同版本(提交)之间的差异
git diff HEAD~ HEAD:比较最近两次提交的差异
git diff <branch_name> <branch_diff> /:比较分支之间的差异
在这里插入图片描述
验证效果
在这里插入图片描述

git__rm_85">7 使用git rm删除文件

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

gitignore_88">8 .gitignore忽略文件

这个文件的作用是可以让我们忽略掉一些不应该被加入到版本库中的文件。
在这里插入图片描述

9 注册GitHub账号

GitHub官网注册即可

10 SSH配置和克隆仓库

第一步,创建远程仓库:
在这里插入图片描述
在这里插入图片描述
第二步,创建SSH密钥:
在这里插入图片描述
第三步,将公钥复制到GitHub中:
在这里插入图片描述
在这里插入图片描述
第四步,克隆项目
在这里插入图片描述Git是一种分布式的版本控制系统,我们的本地仓库和远程仓库是两个仓库,他们之间是相互独立的,我们可以在本地仓库中做任何修改,但是这些修改并不会影响到远程仓库,同样远程仓库的修改也不会影响到我们本地仓库,因此我们需要一种机制来同步本地仓库和远程仓库的修改内容,让他们的状态保持一致,那这个同步的过程就涉及到了Git中两个新的命令,pull和push,一个表示推送 一个表示拉取,push就是把本地仓库的修改推送给远程仓库,pull就是把远程仓库的修改拉取到本地仓库。
在这里插入图片描述
推送成功后,就可以在远程仓库中看到了
在这里插入图片描述
总结

ssh-keygen -t rsa -b 4096:生成SSH Key
                   私钥文件:id_rsa
                   公钥文件:id_rsa.pub
git clone repo-address:克隆仓库
git push <remote> <branch>:推送更新内容
git pull <remote>:拉取更新内容

11 关联本地仓库和远程仓库

如果我们本地已经有了一个仓库的话,怎样才能把它放到远程仓库里面呢?
首先在GitHub上创建一个新的仓库(first-repo)
在这里插入图片描述
操作如下
在这里插入图片描述
最后刷新一下远程仓库,可以看到推送成功了
在这里插入图片描述
同样的,同样地 如果我们在远程仓率修改了一些内容,那么就需要使用oull命令,来把远程仓库的修改拉取到本地。
首先在远程仓库中添加了一个文件README.md
在这里插入图片描述
接下来进行拉取
在这里插入图片描述
执行git pull的时候需要注意的一点就是,在执行完 git pull 之后,Git会自动为我们执行一次合并操作,如果远程仓库中的修改内容和本地仓库中的修改内容没有冲突的话,那么合并操作就会成功。否则合并操作就会由于冲突而失败,这个时候我们就需要手动来解决一下冲突。
从远程仓库获取内容还可以使用fetch命令,它们的区别在于fetch命令只是获取远程仓库的修改。但是并不会自动合并到本地仓库中,而是需要我们手动合并。

12 Gitee的使用

点击“账号设置”,找到SSH公钥位置,配置公钥。
在这里插入图片描述
创建一个仓库并拉取:
在这里插入图片描述在这里插入图片描述


http://www.niftyadmin.cn/n/5744217.html

相关文章

SQL相关常见的面试题

SQL&#xff08;Structured Query Language&#xff09;是数据库管理中不可或缺的一部分&#xff0c;因此在技术面试中经常会被问到与 SQL 相关的问题。以下是一些常见的 SQL 面试题及其答案。 基础概念 什么是 SQL&#xff1f; SQL 是一种用于管理和处理关系型数据库的标准语…

mac 中python 安装mysqlclient 出现 ld: library ‘ssl‘ not found错误

1. 出现报错 2. 获取openssl位置 brew info openssl 3. 配置环境变量&#xff08;我的是在~/.bash.profile&#xff09; export LDFLAGS"-L/opt/homebrew/Cellar/openssl3/3.4.0/lib" export CPPFLAGS"-I/opt/homebrew/Cellar/openssl3/…

如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选

近年来&#xff0c;随着人工智能与大数据技术的迅猛发展&#xff0c;企业的营销手段和策略发生了巨大变化。尤其是在信息爆炸的数字时代&#xff0c;如何有效利用这些技术在海量数据中精准找到潜在客户&#xff0c;已成为中小企业亟待解决的核心问题。 最近&#xff0c;全球人…

JavaFX -- chapter07(HTTP程序设计)

chapter07(HTTP程序设计) 使用Java的Socket类时&#xff0c;你只需要知道服务器的域名&#xff08;或IP地址&#xff09;和端口号就可以建立连接。Java的网络库会处理域名解析的过程&#xff0c;即将域名转换为IP地址。 import java.io.*; import java.net.*;public class So…

美国大选——极具典型的可视化案例!GISer学起来

有人说可视化技术有啥意义&#xff0c;不就做个大屏么&#xff1f; 那真的小看了&#xff0c;就如下图这个美国大选来看&#xff0c;这么复杂混乱的信息&#xff0c;可视化技术给你梳理的明明白白的&#xff0c;简单、直观、形象、便于记忆。 让用户能够从繁杂信息中快速抓到重…

SpringBoot在城镇保障性住房管理中的应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理城镇保障性住房管理系统的相关信息成为必然…

从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)

梯度的重要性定义 权重重要性&#xff08;Weight Importance&#xff09; 权重重要性通常指的是某个权重参数在模型输出中的影响程度。权重重要性的评估通常基于以下几个方面&#xff1a; 绝对值&#xff1a;一个常见的方法是直接使用权重的绝对值作为其重要性指标。权重越大…

《Spring Boot从入门到实战》第五章习题答案

5.7 本章练习 1&#xff09;创建Spring Boot Web项目&#xff0c;使用Thymeleaf页面模板引擎实现人员管理模块的功能。 答案&#xff1a; 1. 创建人员实体类 创建一个 Person 实体类&#xff0c;用于定义人员属性 package com.example.demo.bean;import javax.persistence.…