码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Git 保姆级使用教程


    目录

    一、Git介绍

    二、Git 与 SVN 区别

    三、Git 安装配置

    1.Linux 平台上安装

    Debian/Ubuntu

    Centos/RedHat

    源码安装

    2.Windows 平台上安装

    3.Mac 平台上安装

    四、安装完成后配置

    五、创建版本仓库

    六、Git常用命令

    1.创建仓库命令

    2.提交与修改

    3.提交日志

    4.远程操作

    七、区域划分和Git命令应用示例

    区域划分

    应用示例:

    1.编写readme.md文件

    2.git add 把文件从工作区提交到暂存区

    3.git status查看仓库中的暂存区当前状态

    4.git commit 把暂存区的文件提交到仓库中的永久区(第一次提交)

    5.git status 再次查看仓库中的暂存区当前状态

    6.提交到暂存区的文件被修改后的提示

    7.git commit 把暂存区的文件提交到仓库中的永久区(第二次提交)

    8.git log 查看历史提交记录

    9.git reflog 查看历史命令,便于查看所有历史 commit_id(例如图片中a357aa6)

    10.git reset --hard a357aa6

    11.git rm fileName 丢弃工作区的修改内容,从版本库的暂存区恢复

    八、Git分支管理

    1. git branch 从主线上创建分支 (前提是已经有master)​编辑

    2. 分别向主线和分支提交多次文件后用 git merge 进行合并分支

    3.发现合并冲突,原因是主线跟分支上的文件内容不同

    4.在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决

    5.最后输出git log --graph --pretty=oneline --abbrev-commit  查看分支日志 


    一、Git介绍

    Git是一个开源的分布式版本控制系统,最初由Linus Torvalds为Linux内核开发而创建。

    Git允许多人同时修改同一个代码库并跟踪所有修改的历史记录。

    使用Git可以方便地管理和协调项目代码的开发和维护,在开源社区和软件开发中广泛应用。

    Git使用简单的命令行接口,也有许多可视化的图形界面工具可供选择。

    此外,Git还提供了强大的分支和合并功能,可以轻松地管理多个开发分支和合并它们的变化。

    Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

    二、Git 与 SVN 区别

    Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

    如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

    Git 与 SVN 区别点:

    • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

    • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

    • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

    • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

    • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

    三、Git 安装配置

    在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。

    Git 各平台安装包下载地址为:Git - Downloads


    1.Linux 平台上安装

    Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。

    在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:

    各 Linux 系统可以使用其安装包管理工具(apt-get、yum 等)进行安装:

    Debian/Ubuntu

    Debian/Ubuntu Git 安装命令为:

    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev 
    $ apt-get install git 
    $ git --version git version 1.8.1.2
    
    Centos/RedHat

    如果你使用的系统是 Centos/RedHat 安装命令为:

    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    $ yum -y install git-core
    
    $ git --version
    git version 1.7.1
    源码安装

    我们也可以在官网下载源码包来安装,最新源码包下载地址:Git - Downloads

    安装指定系统的依赖包:

    ########## Centos/RedHat ##########
    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    ########## Debian/Ubuntu ##########
    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev

    解压安装下载的源码包:

    $ tar -zxf git-1.7.2.2.tar.gz
    $ cd git-1.7.2.2
    $ make prefix=/usr/local all
    $ sudo make prefix=/usr/local install

    2.Windows 平台上安装

    在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

    安装包下载地址:Git for Windows

    官网慢,可以用国内的镜像:CNPM Binaries Mirror。

    ​

    完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

    在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。


    3.Mac 平台上安装

    在 Mac 平台上安装 Git 最容易的当属使用图形化的 Git 安装工具,下载地址为:

    git-osx-installer download | SourceForge.net

    安装界面如下所示:

    18333fig0107-tn​

    四、安装完成后配置

    输入命令设置名字和邮箱

    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"

    设置完成后输入命令查看

    git config --global --list

    五、创建版本仓库

     操作步骤

    1. 在自己喜欢的地方创建一个目录
    2. 在命令行终端进入这个目录
    3. 在这个目录中输入 git init 初始化目录为 Git 仓库
    4. 初始化完成后,查看仓库目录下是否生成 .git 目录(Linux 下 .开头的文件尾隐藏文件)

    六、Git常用命令

    1.创建仓库命令

    下表列出了 git 创建仓库的命令:

    命令说明

    git init

    初始化仓库
    git clone拷贝一份远程仓库,也就是下载一个项目。

    2.提交与修改

    Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

    下表列出了有关创建与提交你的项目的快照的命令:

    命令说明
    git add添加文件到暂存区
    git status查看仓库当前的状态,显示有变更的文件。
    git diff比较文件的不同,即暂存区和工作区的差异。
    git commit -m ""提交暂存区到本地仓库,"引用备注"
    git reset --hard commit_id [head^...]回退版本,跳转到指定的 commit_id 或者现对于当前节点的某个节点,`^` 表示上一个 
    git rm将文件从暂存区和工作区中删除。
    git mv移动或重命名工作区文件。
    git checkout分支切换。
    git switch更清晰地切换分支。
    git restore恢复或撤销文件的更改。

    3.提交日志

    命令说明
    git log查看历史提交记录
    git reflog查看历史命令,便于查看所有历史 commit_id

    4.远程操作

    命令说明
    git remote远程仓库操作
    git fetch从远程获取代码库
    git pull下载远程代码并合并
    git push上传远程代码并合并

    七、区域划分和Git命令应用示例

    区域划分

    • - 工作区:提供代码编辑的工作区,只是在仓库的目录里中,并没有真正的添加到仓库
    • - 暂存区:仓库中的暂存区,在工作区通过 add 添加到暂存区,可查看代码与工作区的变更情况,选择是否添加到正式的仓库区
    • - 时光轴:仓库中的永久区,是由暂存区通过 commit 提交之后的存储区。可记录每一次的正式提交,用于时光倒流

    应用示例:

    1.编写readme.md文件
    2.git add 把文件从工作区提交到暂存区
    3.git status查看仓库中的暂存区当前状态

    4.git commit 把暂存区的文件提交到仓库中的永久区(第一次提交)
    5.git status 再次查看仓库中的暂存区当前状态

    6.提交到暂存区的文件被修改后的提示

    绿颜色->暂存区跟白色工作区一样

    7.git commit 把暂存区的文件提交到仓库中的永久区(第二次提交)
    8.git log 查看历史提交记录
    9.git reflog 查看历史命令,便于查看所有历史 commit_id(例如图片中a357aa6)
    10.git reset --hard a357aa6

    11.git rm fileName 丢弃工作区的修改内容,从版本库的暂存区恢复

    八、Git分支管理

    几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。

    使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

    Git 分支实际上是指向更改快照的指针。

    有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。

    与分支有关常用命令:

    git branch 创建分支 
    git checkout -b 创建并同时选择新的分支 
    git checkout/switch 选择分支               
    git branch -d 删除分支 
    git merge 合并到分支 
    git log --graph --pretty=oneline --abbrev-commit查看分支日志 

    1. git branch 从主线上创建分支 (前提是已经有master)

    2. 分别向主线和分支提交多次文件后用 git merge 进行合并分支

    3.发现合并冲突,原因是主线跟分支上的文件内容不同

    4.在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决

    5.最后输出git log --graph --pretty=oneline --abbrev-commit  查看分支日志 

  • 相关阅读:
    ExtJS - UI组件 - MessageBox
    动态头像如何制作?这个方法请收藏
    windows docker desk 踩坑记录
    亚远景科技-什么是R.A.S.I.C角色职权矩阵
    会声会影2024(Corel VideoStudio)正式版安装下载步骤教程
    华为机试真题实战应用【赛题代码篇】-数组组成的最小数字(附Java和Python代码)
    java基于SpringBoot+Vue的家具销售商城系统 element 前后端分离
    vue3项目经验分享
    PTE DESCRIBE IMAGE做题方法 (一)
    如何使用 arrayList.removeAll(Collection<?> c)?
  • 原文地址:https://blog.csdn.net/m0_74712453/article/details/133894574
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号