Git操作——廖雪峰Git教程

article/2025/11/10 7:53:31

这个笔记主要记录的命令,用来翻查命令使用。
学习了一部分,剩下的部分后续更新o( ̄▽ ̄)ブ
廖雪峰的Git教程

零散的命令:

  1. 显示当前目录——pwd
  2. 显示隐藏目录——ls -ah
  3. 查看文件 —— cat + <文件名>

创建版本库

  1. 创建空目录,并进入该目录
  2. 通过***git init***命令把这个目录变成Git可以管理的仓库

把文件添加到版本库

  1. 用命令***git add***把文件添加到仓库

  2. 用命令***git commit***把文件提交到库

    -m 后面输入的使本次提交的说明

    可以多次**add不同文件,在commit一次性上传多个文件

    $git add readme.txt
    $git add file1.txt file2.txt
    $git commit -m "add 3 files"
    

时光机穿梭

  1. 运行***git status***命令查看仓库当前的状态,文件是否修改,是否添加入库否

  2. 使用***dit diff*** + 文件名 命令查看文件修改

    git diff 查看到的是工作区和暂存区的不同

    git diff --cached 查看到的是暂存区和HEAD的不同

版本回退

  1. 使用 git log 命令显示从最近到最远的提交日志,查看提交历史,以便确定回退到哪个版本

    –pretty=oneline 输出信息简洁化, 输出的一段神奇的数字是commit id(版本号)

  2. 使用 git reset --hard HEAD^ (几个^,往上回退几个版本)回退(n)个版本

    也可以写成 git reset --hard HEAD~n (个数)

  3. 使用 git reset --hard <版本号> 在各个版本穿梭

  4. 使用 git reflog 查看命令历史,以便要回到未来的哪个版本

工作区和暂存区

工作区(Working Directoty): 电脑能看到的目录

版本库(Repository): 工作区有一个隐藏目录*.git*,是Git的版本库

git add 命令实际上是把要提交的所有修改放在暂存区(Stage),然后执行 git commit 可以一次性把暂存区的所有修改提交到分支(master)

git-stage

git-stage-after-commit

管理修改

使用 git diff HEAD – <文件名> 查看工作区和版本库里最新版本的区别

每次修改,如果不用 git add 到暂存区,那就不会加入到 commit 中。

撤销修改

  1. 使用 git checkout --<文件名> 可以丢弃工作区的修改

  2. 使用 git reset HEAD <文件名> 可以把暂存区的修改撤销*(unstage)*,重新放回工作区

  3. 使用 git reset HEAD^ <文件名> 回退到上个版本

    如果提交到远程库就没办法了

删除文件

  1. 从版本库删除该文件
    • 使用 git rm <文件名> 删除该文件,并且 git commit
  2. 恢复本地误删文件
    • 本地误删后,使用 git checkout – <文件名> 从版本库恢复误删文件

远程仓库

本地Git仓库和gitHub仓库建立连接

  1. 创建SSH key

    ssh-keygen -t rsa -C "youremail@example. com"
    

    一路回车,使用默认值,但是记得设置***passphrase***密码,这是后面要用的!

  2. 登录GitHub,打开***setting***界面,然后打开***SSH and GPG keys***界面。

    点击***New SSH key***, title随意, key框中粘贴 用户主目录/.ssh目录/***id_rsa.pub***文件中的内容

添加远程库

  1. 登录Github, 创建新的仓库(Create a new repository)

  2. 把本地仓库的内容推送到GitHub仓库

    ①本地仓库与gitHub建立的仓库相连接

    $ git remote add origin git@github.com:<自己的用户名>/<仓库名>.git 
    

    ​ origin是远程库的名字,是Git默认的叫法

    ②把本地库的所有内容推送到远程库上(这里可能需要输入passphrase密码)

    $ git push <可填-u> origin master
    

    -u 如果远程库是空的,我们第一次推送master分支时,加上了 -u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从远程库克隆

​ 使用命令 git clone 克隆一个远程库

#git clone git@github.com:<用户名>/<库名>.git

分支管理

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!(还是廖老师的例子好)

创建与合并分支

  1. 查看当前分支 —— git branch

  2. 创建分支

    • git branch <分支名称>

    • git switch -c <分支名称>

      -c 表示创建并切换

    • git checkout -b 分支名称

      -b 表示创建并切换,相当于以下两条命令

      $ git branch dev
      $ git checkout dev
      
  3. 切换分支

    • git checkout <分支名称>
    • git switch <分支名称>
  4. 将XXX分支合并到当前分支上 —— git merge XXX

  5. 删除分支 —— get branch -d <分支名称>

解决冲突

对相同文件,不同分支各自都有新的提交,这种情况下,Git无法执行“快速合并”,必须手动解决冲突后再提交。

使用***git merge <分支名>*** 后,存在冲突的文件内容会出出现“ <<<<<<<,=======,>>>>>>> ”。Git用<<<<<<<, =======,>>>>>>>标记出不同分支的内容。

使用 git status 可以知道产生冲突的文件。

对冲突的文件进行修改,修改之后重新提交,产生冲突的两个分支合并。

使用 git log – graph 命令可以查看分支的合并情况,输入q退出

$ git log --graph --pretty=oneline --abbrev-commit

分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

禁用Fast forward模式合并分支,须添加 –no-ff 参数,且合并要创建一个新的commit,所以加上 -m 参数,把commit描述写进去。

$ git merge --no-ff -m "描述" 分支名称

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。(这个我没明白,求解答(>人<;))

Bug分支

保存工作现场 —— git stash

查看工作现场 —— git stash list

恢复工作现场

  1. git stash apply 恢复后,stash内容并不删除,需要用 git stash drop 来删除
  2. git stash pop , 恢复的同时把stash内容也删除了

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场 git stash 一下,然后去修复bug,修复后,再 git stash pop,回到工作现场;

在master分支上修复的bug,想要合并到当前dev分支,可以用 git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

总的来说,就是,在分支下进行的工作,如果不commit的话,回到master,就会显示出你在分支下你添加的工作。这个时候,你在master下修改完bug提交后,正在分支进行的工作也会提交了。为了避免这个情况,你就在分支下,git stash将工作隐藏,这个时候,切换到master时候,修改了bug,提交。分支的内容不会被提交上去。(这是下面的评论,但是说得很明确)


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

相关文章

廖雪峰git教程学习记录

1. 下载安装 git官网下载&#xff1a;https://git-scm.com/downloads 百度网盘链接: https://pan.baidu.com/s/1quoLbBcbWaGJ05do4DX9Pw 提取码: xqe3 直接下载安装&#xff0c;完成后在开始菜单找“Git”--“Git Bash” 点击打开&#xff0c;如下图形式显示 安装成功。 2. …

Python 爬虫:把廖雪峰的教程转换成 PDF 电子书

。前两天&#xff0c;有读者在微信公众平台 问道&#xff1a;可以推荐一本 Python 入门的教程吗&#xff1f;我说&#xff1a;廖雪峰的 Python 教程她说&#xff1a;有没有电子书呢&#xff1f;我说&#xff1a;没有&#xff0c;但你可以用 Google 搜一下&#xff0c;找到了记得…

git常用命令总结--廖雪峰老师Git教程命令总结

学习了廖雪峰老师的Git教程之后的命令总结&#xff0c;重点更新第十项关于git和远程仓库的东西。 如果没有学过&#xff0c;这是传送门 2021.02.19更新&#xff1a;第十章第12节--切换远程分支并拉取远程分支到本地&#xff0c;第十章第13节--git不用每次都要输入用户名密码 …

学习廖雪峰的Git教程

学习廖雪峰的git教程&#xff1a;http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.创建版本库&#xff1a; 在一个空目录下&#xff1a;git init 把这个目录变成Git可以管理的仓库。 2.添加文件到仓库&#xff1a; 添加文件到仓库目…

git学习笔记——廖雪峰git教程

OK&#xff0c;先附上教程——廖雪峰的官方网站 友情连接&#xff1a;git官网 简介 这里我只想引用他的原文&#xff1a; Linus可以向BitMover公司道个歉&#xff0c;保证以后严格管教弟兄们&#xff0c;嗯&#xff0c;这是不可能的。实际情况是这样的&#xff1a; Linus花了…

廖雪峰Git学习笔记(超级无敌详细)

Git 1. 创建仓库1.1初始化一个Git仓库1.2 添加文件到Git仓库 2. 时光穿梭2.1 版本回退2.2 工作区和暂存区2.3 管理修改2.4 撤销修改2.5 删除文件 3. 远程仓库3.1 添加远程仓库3.2 删除远程仓库3.3 从远程仓库克隆 4. 分支管理4.1 创建与合并分支4.1.1 创建分支4.1.2 合并分支4.…

廖雪峰git教程学习

廖雪峰git教程 git – Linus在2周内用c写的 1.1 基本概念 版本控制系统&#xff0c;追踪文本文件的改动&#xff0c;文件、视频等二进制文件则不可追踪&#xff08;微软的word也是二进制文件&#xff09;HEAD 指向当前分支&#xff0c;表示当前版本&#xff08;最新的提交&am…

廖雪峰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;使用工具可以节省资源&…