廖雪峰git教程学习

article/2025/11/10 5:13:24

廖雪峰git教程
git – Linus在2周内用c写的

1.1 基本概念

  • 版本控制系统,追踪文本文件的改动,文件、视频等二进制文件则不可追踪(微软的word也是二进制文件)
  • HEAD 指向当前分支,表示当前版本(最新的提交)
  • HEAD^ 上一版本
  • HEAD^^ 上上版本
  • HEAD~100 往上100个版本
  • 创建Git版本库时,Git自动为我们创建了唯一一个master分支
  • 只要没有git add,那么修改的内容就不会被放入暂存区,就不会被提交
  • 远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库

1.2 常用指令

mkdir learngit
pwd  -- 用于显示当前目录
ls -ah -- 可查询隐藏的文件夹,如.git
cat -- 读取文件的内容
rm test.txt -- 删除文件
git init -- 将某个目录变成Git可以管理的仓库
git add -- 告诉git,把文件添加到仓库(暂存区)git add . -- 将工作区中所有未跟踪或者修改的文件添加到暂存区
git commit -m ""   -- 把文件提交到仓库(master分支)
git log -- 告诉我们修改的历史记录(由近到远)
/ 或者只显示一行 git log --pretty=oneline
git reset --hard HEAD^   -- 回退到上一版本
git reset --hard 1094a -- 回退到某一版本(需要知道commit id,并输入前几位)
git reflog -- 即使关闭了git bash之后,依然能记录之前每个步骤
git status -- 查询工作区的状态(是否有新增文件,文件是否有修改,比如切回dev分支时,可以先查询工作区的状态)
git diff HEAD -- readme.txt -- 查看工作区和版本库里面最新版本的readme文件的区别
git rm test.txt -- 你在工作区删除了test,git status检测到了,在确认要删除后,使用git rm+git commit
git checkout -- test.txt -- 刚刚在工作区误删了test,但是暂存区还有,还原回来
git remote add origin -- 在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作
git remote -- 查看远程仓库信息
git remote -v -- 显示更详细信息
git push -u origin master -- 实际上是把本地当前分支master推送到远程(第一次推送加 -u)
git push origin master -- 之后再有提交,推送无需加-u
git clone + git仓库地址(https或ssh,ssh协议速度最快)
git checkout -b dev -- 创建dev分支(-b 表示branch?创建并切换)
git branch -- 查看当前分支(当前分支前面会标一个*号)
git checkout master -- 先切回master分支,再合并
git merge dev -- 把合并指定分支(dev)到当前分支(master)
git merge --no-ff -m "不使用Fast forward模式合并" dev -- Fast forward模式下,删除分支后,会丢掉分支信息
git branch -d dev -- 合并完成后,就可以放心地删除dev分支了
git switch -c dev -- git的新命令,创建并切换到新的dev分支
git switch master
git log --graph -- 可以看到分支合并图
vim 文件名 -- 当不同分支合并产生冲突时,可以查看文件
git log --graph --pretty=oneline --abbrev-commit -- 查看分支合并情况
git stash -- 把当前工作现场“储藏”起来,等以后恢复现场后继续工作(场景:当前dev分支还没开发完,不能进行提交,但有临时紧急任务,需要新建分支来修复bug)
git stash apply + git stash drop -- 恢复工作区,或者:
git stash pop (恢复的同时把stash内容也删了)
git stash list -- 查看被暂存的工作现场
git stash apply stash@{0} -- 恢复stash@{0}暂存
git cherry-pick 4c805e2 -- 能复制一个特定的提交(4c805e2,修复bug的提价)到当前分支(比如在master分支上修复了bug,但是dev分支上也有这个bug,通过复制的方式解决dev上的bug)
git branch -D feature -- 丢弃一个没有被合并过的分支,加-D强行删除
git tag v1.0 -- 打标签(默认标签是打在最新提交的commit上的)
git tag v0.9 f52c633 -- 在历史提交的特定commit id上打标签
git tag -a v0.1 -m "version 0.1 发布" 1094adb -- 添加备注
git tag -d v0.1 -- 删除标签
git tag -d v0.9 + git push origin :refs/tags/v0.9 -- 删除已推送到远程的标签
git push origin v1.0 -- 推送标签到远程
git push origin --tags -- 一次性推送全部尚未推送到远程的本地标签
git tag -- 查看所有标签
git show v0.9 -- 查看某标签的详细信息

在这里插入图片描述
在这里插入图片描述
写了不该写的,但是还没git add,使用git checkout -- readme.txt可以撤销工作区的修改;
写了不该写的,还git add了,使用git reset HEAD readme.txt可以撤销暂存区的修改

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

1.3 创建合并分支过程图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分支合并冲突
在这里插入图片描述
在这里插入图片描述
手动修改冲突后,不需要merge了
在这里插入图片描述

1.4 多人协作

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin < branch-name>推送自己branch-name分支的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并
  3. 如果合并有冲突,则解决冲突,并在本地提交(即使没有冲突,后push的同学不得不先pull,在本地合并,然后才能push成功);
  4. 没有冲突或者解决掉冲突后,再用git push origin < branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to=origin/dev dev(指定本地dev分支与远程origin/dev分支的链接)

1.5 记录一个在学习git的过程中,遇到的问题

  1. 学习时,使用了以前创建的ying文件夹,这个文件夹其实和以前github上的ying仓库关联了(但是我忘了这件事)
    在这里插入图片描述
    在这里插入图片描述

  2. 当我在推送ying工作区的内容到learngit2020时,出现以下错误。因为此时,我的本地ying和远程仓库的内容已经不一致了
    在这里插入图片描述

  3. 先使用git pull --rebase origin master 取回远程主机某个分支的更新,再与本地的指定分支合并 (变基:把分叉的提交历史“整理”成一条直线,看上去更直观)在这里插入图片描述
    看看此时的工作区,多出了Users文件夹:
    在这里插入图片描述

  4. 再执行git push -u origin master
    在这里插入图片描述
    看看远程仓库ying的变化,最新的已经更新上去了
    在这里插入图片描述
    ** 注意:这里并没有实现推送到新的远程仓库learngit2020

  5. 本地库ying关联到远程库ying后,再关联到另一个远程库learngit2020

git remote set-url origin git@github.com:StephanieHuang0801/learngit2020.git
git push origin master:master

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

现在看看远程库learngit2020
在这里插入图片描述


http://chatgpt.dhexx.cn/article/RhTVDkci.shtml

相关文章

廖雪峰Git教程笔记

文章目录 1 什么是Git1.1 Git的诞生1.2 集中式vs分布式1.3 安装Git1.3.1 在Windows上安装Git1.3.2 在Linux上安装Git 1.4 创建第一个项目learngit1.4.1 创建版本库1.4.2 初始化仓库1.4.3 添加文件到版本库1.4.4 Git使用小结 2 版本控制2.1 版本更新2.1.1 git status查看仓库状态…

Git 详解 和 廖雪峰 Git 教程

转载&#xff1a;廖雪峰 git 教程&#xff1a;https://www.liaoxuefeng.com/wiki/896043488029600 GitHub 秘籍&#xff1a;https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.zh-cn.md Git Community Book 中文版&#xff1a;http://gitbook.liuhui998.com…

【教程搬运】廖雪峰Git的使用教程(二)

廖雪峰的Git使用教程 5 分支管理5.1 创建与合并分支5.2 解决冲突5.3 分支管理策略5.4 Bug分支5.5 丢弃未被合并的分支5.6 多人协作5.7 Rebase 6 标签管理6.1 创建标签6.2 管理标签 7 使用Github8 使用Gitee9 自定义Git9.1 忽略特殊文件9.2 配置别名9.3 搭建Git服务器 10 使用So…

带你过一遍:廖雪峰大神Git教程(建议收藏)

这里是带你过一遍第一期&#xff0c;我来带你过一遍很出名的Git&#xff08;廖雪峰版&#xff09;教程&#xff0c;想要查看前面的笔记请翻阅我的CSDN博客&#xff0c;作者码字不易&#xff0c;喜欢的话点赞&#xff0c;加个关注吧&#xff0c;后期还有很多干货等着你&#xff…

廖雪峰Git教程:远程仓库

在本地机上创建一个Git仓库learngit&#xff0c;然后在自己的GitHub上添加一个Git库&#xff0c;让两个仓库进行远程同步。 首先&#xff0c;登陆GitHub&#xff0c;然后&#xff0c;在右上角找到“Create a new repo”按钮&#xff0c;创建一个新的仓库。在Repository name填…

廖雪峰git教程总结

廖雪峰git教程总结 git base 命令 新建文件夹learngit $ mkdir learngit 打开新建文件夹learngit $ cd learngit 显示当前目录 $ pwd 全局配置 $ git config --global user.name “Your Name” $ git config --global user.email “emailexample.com” 配置别名 $git config …

Git 操作简单总结:廖雪峰教程

廖雪峰Git教程&#xff1a;Git教程 - 廖雪峰的官方网站 命令总结&#xff1a; git add a.txt&#xff1a;添加工作区内容到暂存区 git commit -m "first commit"&#xff1a;将暂存区内容提交到版本库rm a.txt&#xff1a;删除工作区的a.txt git rm a.txt&#xff…

廖雪峰Git教程学习笔记

目录 概要 一、Git 和 SVN 的区别 二、Git 安装 三、本地仓库操作 1. 查看Git 版本号 2. git config 3. 初始化本地仓库 4. 添加文件到仓库 5. 查看仓库当前状态 6. 查看修改内容 7. 查看提交日志 8. 版本回退 9. git revert 10. 查看命令历史 11. 撤销修改 1…

Git学习笔记之廖雪峰Git教程

一、Git安装与卸载 1、安装 ​ 官网下载太慢&#xff0c;我们可以使用淘宝镜像下载&#xff1a;http://npm.taobao.org/mirrors/git-for-windowsl ​ 下载对应的版本即可安装&#xff01;安装:无脑下一步即可! ​ 环境变量配了&#xff0c;就可以全局使用命令 ​ 右键git …

Git教程--基于廖雪峰的教程,最通俗易懂

本篇教程基于廖雪峰教程进行的&#xff0c;感谢原作者&#xff0c;写的是目前Git教程中最优秀的 Git教程 介绍工作流程基本概念基本操作常见命令创建仓库提交与修改提交日志远程操作 1、 Git配置安装&#xff08;windows&#xff09;2、创建版本库3、关联远程仓库推送SSH警告删…

Git教程(一)Git简介——廖雪峰的官方网站

目录 一、git简介 1.git的诞生 2.集中式vs分布式 3.安装git 4.创建版本库 笔记学习的内容来自-->链接Git简介—廖雪峰的官方网站 一、git简介 1.git的诞生 Git是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09;。 Git是用C语言写的。 git…

Git 图解、常用命令和廖雪峰教程笔记总结

概述 先用一幅图&#xff0c;从总体上描述主要git命令的工作流程 workspace: 本地的工作目录。&#xff08;记作A&#xff09; index/stage&#xff1a;暂存区域&#xff0c;临时保存本地改动。 &#xff08;记作B&#xff09;local repository: 本地仓库&#xff0c;只想最后一…

小程序测试之微信开发者工具

一、为什么要使用微信开发者工具&#xff1f; 小程序的测试方法有很多种&#xff0c;直接用真实测试机扫码体验版就可以测试&#xff0c;那为什么还要选择使用工具呢&#xff1f; 使用微信开发者工具的优势&#xff1a; 1、相比真机测试&#xff0c;使用工具可以节省资源&…

微信测试号-介绍

https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login 大部分在企业上手微信公众号开发的都是直接用企业的账号&#xff0c;而我这里主要教学。所以使用的是微信测试号。 我们先要知道我们的入口&#xff08;下面链接就是&#xff09; 微信测试号入口&#xff1a…

微信小程序测试点

测试范围 1.权限测试 1&#xff09;未授权 未授权时&#xff0c;首次进入小程序弹出提醒授权登录 未授权进入小程序后提交数据时&#xff0c;提示授权补充信息才可提交 2&#xff09;已授权 已授权微信登录后可被小程序管理方所获取信息&#xff0c;自动以微信的身份操作业务 …

【微信测试号实战——01】注册一个属于你自己的微信测试号

系列文章目录 微信测试号系列文章&#xff0c;快速进入 【微信测试号实战——01】注册一个属于你自己的微信测试号 文章目录 系列文章目录前言一、打开微信测试号官网二、使用步骤1.打开手机端微信2.扫码登录3.注册成功 三、关注测试号总结 前言 发现微信公众号有很多有意思的…

微信朋友圈测试用例

这里写目录标题 功能测试发朋友圈只发送文本只发送图片只发送视频以上模式搭配使用&#xff0c;是否可以正常使用所在的位置谁可以看提醒谁看是否同步到QQ空间发送 浏览朋友圈文本查看图片查看视频查看分享朋友圈点赞评论删除朋友圈屏蔽朋友圈刷新朋友圈微信朋友圈的封面&#…

微信小程序测试(简单项目测试)

Flex布局简介 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性 什么是flex布局&#xff1f; Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性。 任何一个容器都可以指…

微信小程序的测试方法

https://developers.weixin.qq.com/miniprogram/design/ 微信小程序的定义 依附于微信而无需再次下载安装的移动端应用程序 微信小程序的特点 无需下载&#xff0c;即用即走 功能丰富&#xff0c;清爽体验 流量大、易裂变 微信小程序的局限性 数量:每个应用最大支持页面层…

如何测试微信小程序

什么是小程序 一种不需要下载、安装&#xff0c;运行在微信里可以直接使用的应用。 怎样测试小程序 功能测试 功能测试可以参考APP的测试方法 输入、输出&#xff1a;用户上传的材料、描述&#xff0c;登录时输入的用户名、密码等&#xff1b; 边界值测试&#xff1a;黑盒测…