尚硅谷Git教程



尚硅谷Git教程
BV1vy4y1s7k6

免费 开源

分布式版本控制工具 / 集中式版本控制工具

本地库、暂存区域、工作流分支

弹幕:应该是git比SVN多了个本地仓库。SVN中央库损坏,历史版本都会没。git中央库损坏,本地库还有历史版本

Linux系统版本控制历史

  • 1991年 Linus 手动合并代码
  • 2002年 BitKeeper
  • 2005年 Linux社区破解BitKeeper, 回收免费使用权
  • 2005年 Linux自己用 C语言 开发了一个分布式版本控制系统 Git
  • 2008年 GitHub上线

远程库(代码推送到远程库)
↑ git push
本地库(提交代码 生成历史版本 代码可以回退)
↑ git commit
暂存区(添加 代码可删除)
↑ git add
工作区(存放代码的位置)

基于网络服务的远程代码仓库

代码托管中心 = 远程库

  • 局域网
  • GitLab
  • 互联网
  • GitHub
  • Gitee (国内)

通常使用Git Bash
字体大小调整 CTRL+鼠标滚轮

设置用户签名

git config --global user.name  // 设置用户签名
git config --global user.email   // 设置用户签名

Git不会验证邮箱

检查Git用户签名设置

C:\Users\当前使用的用户.gitconfig

用文本编辑器打开, 当时输入的信息被保存到该文件中, 即用户签名设置成功

该设置仅为本地库的用户签名

git初始化本地库

git init // 初始化本地库
ll    // 查看本地文件
ll -a // 查看隐藏文件

查看Git状态

git status

On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)

本地文件添加暂存区

文件未添加显示红色
文件添加后显示绿色

git add  // 添加文件至缓存区
git rm --cached  // 将文件从缓存区中删除

提交本地库

git commit -m "版本日志信息"

// 初次提交日志
[master (root-commit) 87a4ec1] firstCommit
 1 file changed, 14 insertions(+)
 create mode 100644 git.txt

// 再次提交日志
nothing to commit, working tree clean
git reflog //查看引用日志信息
git log    //查看详细信息日志

修改文件

cat  // 查看文件内容

git commit -m "日志"  // 提交文件

git reflog
cd63aa8 (HEAD -> master) HEAD@{0}: commit: secondCommit
87a4ec1 HEAD@{1}: commit (initial): firstCommit

历史版本

git reflog // 仅显示文件特征码
git log    // 显示每次版本提交的用户签名 日期

git reset --hard 特征码 // 回退版本

复制 Ctrl + Ins
粘贴 Shift+ Ins
选中复制内容 单击鼠标中键 直接粘贴
选中复制内容 Shift + Ins 直接粘贴

检查版本

什么是分支

同时推进多个任务, 就可以给每个任务创建的单独分支

分支的优势

  • 可以同时开发多个功能, 提高开发效率
  • 如果其中一个分支开发失败, 不会影响项目中的其他分支

分支操作

git branch      // 创建分支
git branch -v           // 查看分支
git checkout    // 切换分支
git merge       // 指定分支合并到当前分支
git pull  //将代码从远程库拉取至本地库
git push  //推送至远程库
git clone //协作开发的人从远程库克隆代码至本地库
git fork  //将他人远程库代码复制至自己远程库
git pull request // 提交代码至主远程库

团队内协作 (共用一个远程库)

pull 拉取代码
push 推送代码

clone 将远程库代码克隆至本地库

push 推送本地库代码至远程库

跨团队协作 (多个远程库)

fork 复制远程库

pull request 远程库推送至主远程库

merge 主远程库将代码合并

Original: https://www.cnblogs.com/turbospace/p/16597304.html
Author: 鲲特牌
Title: 尚硅谷Git教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599528/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Javaweb-Http、Maven及Servlet详解

    一、Http 1.什么事Http Http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上 文本:html,字符串,~.. 超文本:图片,音乐,视屏,定位,地图…

    数据库 2023年6月16日
    034
  • MySQL基础入门学习教程,带你快速掌握mysql

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    数据库 2022年9月4日
    0160
  • 基于Vue简易封装的快速构建Echarts组件 — fx67llQuickEcharts

    fx67llQuickEcharts A tool to help you use Echarts quickly! npm 组件说明 这本来是一个测试如何发布Vue组件至npm库…

    数据库 2023年6月11日
    062
  • mysql扫描全表更新状态部分失败

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    数据库 2022年9月4日
    0154
  • redis简述

    redis是什么? Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、…

    数据库 2023年6月14日
    041
  • [Linux]如何将一个目录添加至环境变量

    全局环境变量有两个目录,其中 /etc/profile 仅初始化登陆 shell 的环境变量 /etc/bash.bashrc 仅初始化交互 shell 为了在各种终端中使用,这里…

    数据库 2023年6月16日
    042
  • vue进阶(一)

    vue.js 数据绑定 定义:将数据和视图相关联,当数据发生变化时,可以自动更新视图。 语法 1) 插值 使用双大括号{{}},双大括号会将里面的值当做字符串进行处理;而如果值是H…

    数据库 2023年6月6日
    049
  • 设计 | ClickHouse 分布式表实现数据同步

    作者:吴帆 青云数据库团队成员主要负责维护 MySQL 及 ClickHouse 产品开发,擅长故障分析,性能优化。 在多副本分布式 ClickHouse 集群中,通常需要使用 D…

    数据库 2023年5月24日
    050
  • Java实现负载均衡算法–轮询和加权轮询

    1.普通轮询算法 轮询(Round Robin,RR)是依次将用户的访问请求,按循环顺序分配到web服务节点上,从1开始到最后一台服务器节点结束,然后再开始新一轮的循环。这种算法简…

    数据库 2023年6月6日
    054
  • MySQL专题2: 事务和锁

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    数据库 2022年9月4日
    0165
  • MySQL日志

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    数据库 2022年9月4日
    0138
  • 了解Threejs中的Clock对象以及简单应用

    什么是Clock对象 如果你对 JavaScript 有一定了解,那么 JavaScript 的时间对象 Date 你一定不陌生,Clock 本质上就是对 Date 进行封装,提供…

    数据库 2023年6月11日
    046
  • 自定义 systemd service

    Red Hat Linux 自 7 版本后 采用systemd 形式取代原先 init ,用户可以参考 系统service 创建自己的service ,以便于日常统一管理,系统se…

    数据库 2023年6月15日
    038
  • 3_肯德基餐厅信息查询_动态加载_post请求

    肯德基餐厅信息查询网址:http://www.kfc.com.cn/kfccda/storelist/index.aspx import requests url = ‘http:…

    数据库 2023年6月11日
    035
  • VM Ware 给Centos虚拟机配置静态IP

    前言:在大家的日常运维工作中,肯定多多少少都会用到虚拟机,但是默认情况下VMware创建的虚拟机每次启动都有可能更换IP这就对我们的工作造成了一定的麻烦,下面我就给大家介绍下,如何…

    数据库 2023年6月9日
    034
  • Centos7安装Greenplum5.3单机版教程

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    数据库 2022年11月8日
    0142
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球