尚硅谷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)

大家都在看

  • MySQL之视图、触发器、事务、索引及其他知识补充

    一、视图 视图是将SQL语句的查询结果当做虚拟表实体化保存起来,以后可以反复使用 create view teacher2course as select * from teach…

    数据库 2023年5月24日
    088
  • [LeetCode]7. 整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123输出: 321示例 2: 输入: -123输出: -321示例 3: 输入: 1…

    数据库 2023年6月9日
    081
  • MYSQL的Java操作器——JDBC

    在学习了Mysql之后,我们就要把Mysql和我们之前所学习的Java所结合起来 而JDBC就是这样一种工具:帮助我们使用Java语言来操作Mysql数据库 JDBC简介 首先我们…

    数据库 2023年6月14日
    076
  • mysql配置环境变量

    安装MySQL 5.6,0.28 官网下载解压即可 下载后解压 然后以管理身份打开 my.ini配置(得先配置) bin>mysqld –initialize-i…

    数据库 2023年6月9日
    087
  • 常用函数封装汇总

    常用函数封装 获取某日期若干个工作日后的日期 * 参数: * time: [String] 给&#x5B9…

    数据库 2023年6月11日
    0110
  • Javaweb07-三层架构(BaseDao)

    1、BaseDao 持久层业务接口实现类的公共父类,定义了jdbc操作数据库的所有公共方法,方便子类继承; import java.io.InputStream; import j…

    数据库 2023年6月16日
    0102
  • go interface{}使用

    先上代码 为什么会报错? 因为空接口拥有两个指针,内存布局上会占用两个机器字长。 对于长度为n的空接口切片而言,它的每个元素都是以2机器字长为单位的连续空间,因此总共会占用 2n个…

    数据库 2023年6月9日
    076
  • 二分查找及其应用

    概述 二分查找算法是一种效率极高的算法,也是为数不多时间复杂度在 O(logn)量级的算法。算法思想并不难理解,但是某些细节却十分复杂,…

    数据库 2023年6月11日
    065
  • MyBatis(三)-动态SQL

    1、if 注意:test里面使用的参数,可以是mybatis的默认参数,也可以是实体属性名,但是不能是没有指定别名的参数名(尤其是单个参数,也必须起别名,否则异常); 单独使用if…

    数据库 2023年6月16日
    090
  • Dubbo源码(一)-SPI使用

    Dubbo 的可扩展性是基于 SPI 去实现的,而且Dubbo所有的组件都是通过 SPI 机制加载。 SPI 全称为 (Service Provider Interface) ,是…

    数据库 2023年6月11日
    092
  • Python–socket

    socket网络编程:socket、socketserver socket:{server,client} socket_server示例: socket_client示例: 应用…

    数据库 2023年6月9日
    076
  • Gorm 的黑魔法

    开发过程中,看到同事的代码写了这么一段: db = db.Session(&gorm.Session{Context: db.Statement.Context}).Fir…

    数据库 2023年6月9日
    096
  • Python第二十天 shutil 模块 zipfile tarfile 模块

    Python第二十天 shutil 模块 zipfile tarfile 模块 注意:压缩打包/解压解包目录和文件使用tarfile模块而不要使用shutil 模块!!! os文件…

    数据库 2023年6月9日
    069
  • Python–软件目录结构

    目的不必多说:提高项目可读性、可维护性 软件目录结构示例: 那么问题来了,当类似于如上的目录结构时,我怎么在game.py中去调用setting.py或者main.py中的函数呢?…

    数据库 2023年6月9日
    084
  • 新来的同时问我where 1=1是什么意思

    写在前面 之前在项目代码中写了一条sql查询语句,在where条件搜索中加入了where 1=1,新来的同事之后问我where 1=1 是什么意思,这样没意义啊,我笑了。今天来说明…

    数据库 2023年6月6日
    085
  • 计算机组成原理——概述篇

    计算机发展历史 电子管计算机(1946 年——1958 年) 第一台计算机为ENIAC 诞生于美国宾夕法尼亚大学 特点: 集成度小,空间占用大 功耗高,运行速度慢 操作复杂,更换程…

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