Git教程(入门)

简介: Git是分布式版本控制系统,支持本地版本管理与远程协作。通过`git init`或`git clone`创建仓库,用`add`、`commit`提交更改,`branch`、`merge`管理分支,`push`、`pull`同步远程代码。配置用户名邮箱后即可开始版本控制,结合`.gitignore`忽略文件,`reset`回退版本,高效协作开发。

Git介绍

  • Git是一个分布式版本控制系统
    • 版本控制:仓库中每个文件都有完整的历史版本记录.
    • 分布式版本控制系统:分布式即每个人都有一个完整的版本库只需本地修改,长传进度只需同步仓库即可.

Git的安装

  • 前往官网安装 Git
  • 下载安装包然后一直点下一步就行了

1. git用户名/邮箱配置及查看

  • 配置

    $ git config --global user.name "输入你的名字"
    $ git config --global user.email "输入你的邮箱"
    
  • 查看

    $ git config --global -l
    

2. 新建版本库

  • git仓库的创建及一些常用linux命令

  • git仓库初始化(请cd到要构建本地仓库的位置)

    $ git init
    这里会生成一个.git文件但是这是隐藏文件
    隐藏文件查看方式:点 查看->显示->隐藏的文件
    
  • 生成文件和初始化git仓库也可以写成一步

    $ git init 文件名
    
  • 还有一种创建git仓库的方式就是克隆别人的仓库

    $ git clone 仓库地址 
    //一般地址在别人github上会写
    

    补充代码:

  • 这个指的是返回上级目录
    $ cd ..
    
  • 若文件在目录下可以直接cd文件名(这个和返回上级目录都是相对路径)
    $ cd 文件名
    
  • 直接cd到你要的目录(绝对路径)
    $ cd 完整的目录 
    //补充一下单个.表示当前目录后面我们可以巧用.来做操作
    
  • 创建文件
    $ mkdir 文件名
    
  • 看目录下文件的代码(不包括隐藏目录)
    $ ls
    
  • 要看隐藏文件
    $ ls -a
    
  • 查看文件信息
    $ ls -l
    
  • 隐藏文件+信息都显示
    $ ls -al
    
  • 删除当前目录下某个文件
    $ /rm -rf 文件名包括完整后缀 
    //后缀查看方式在刚才隐藏文件旁边有个文件扩展名
    
  • 创建文件
    $ echo "内容"
    $ 文件名(包括后缀)
    
  • 查看文件内容
    $ cat 文件名(包括后缀)
    
  • 在vim中编辑文件
    $ vi 文件名(包括后缀)
    
  • 查看当前目录位置
    $ pwd
    
  • 清屏
    $ clear
    

3. git的工作状态及文件状态

简单展示命令具体用法在后面

工作区域:工作区 -> 暂存区 -> 本地仓库
命令:       git add   git commit
工作区域:工作区 <- 暂存区 <- 本地仓库
命令:    git checkout  git reset
工作区域:本地仓库 -> 远程仓库
命令:          git push
工作区域:远程仓库 -> 本地仓库
命令:     git clone/fetch
工作区域:远程仓库 -> 工作区
命令          git pull

4. 添加和提交文件

  • 查看文件状态
    $ git status
    
  • 刚创建文件会显示Untracked
  • 现要把他放入暂存区
    $ git add 文件名
    
  • 然后就会显现changed to be commited
  • 现在提交到本地仓库
  • 场景1(-m提交):
    $ git commit -m "Inital commit" 
    //这里 -m "名字" 我的理解是给该次提交版本起个名字方便查询以及回退
    
  • 场景2(打开vim提交):
    $ git commit
    //按 i 键进入编辑模式输入前面说的我觉得也是名字
    //按 esc 退出编辑模式,输入 :wq 保存 
    //注意不管第几次题解只有暂存区的文件才能提交
    
  • 场景3(更改了一个文件后想直接提交到本地仓库):
    $ git commit -a -m '名字'
    //注意这里只适用于用git status查看发现是modified状态的文件
    
  • 提交记录查询
    $ git log
    
  • 每次提交记录只显示一行
    $ git log --oneline
    //除此之外还有--graph(这里先学分支后再讲)和--all(所有分支)
    

5. .gitignore文件

//这个文件作用是忽视一些文件在操作git的时候

//语法1(忽视单个文件):
文件名(包括后缀)

//语法2(忽视一个文件夹):
文件夹名/

//语法3(忽视某种后缀):
*后缀名
//后缀名以 . 开头
//在语法3中如果你在该后缀文件中有某个文件不想忽略
!文件名(包括后缀)

//去github上的gitignore可以看到很多模版

6. 版本回退

首先回退的命令是reset其中有三种类型
--hard --mixed --soft
区别:
         工作区   暂存区
--hard     N        N
--mixed    Y        N    (什么都不写默认是这个)
--soft     Y        Y
  • 第一步我们先用git log --online --all看一下信息
  • 会发现前面有编号对每次版本
  • 回退操作:
    $ git reset (--?) 版本编号(可以不写全前提是不写全的部分需要与其他版本编号不一样)
    
  • 如果想要回退到之前的状态但是有因为已经回退了操作编号不见了那么可以用这个命令(查询所有操作)
    $ git reflog
    //然后再用一次git reset就好了
    

7. 分支的操作

  • 作用:如果我们想基于一些基础功能做不同的项目就可以用到分支这样就能单独管控不同的项目

  • 查看当前有哪些分支

    $ git branch
    
  • 创建一个分支
    $ git branch 分支名
    
  • 删除一个分支
    $ git branch -d 分支名
    
  • 切换进入分支
    $ git checkout 分支名
    
  • 分支的合并(分支回到主干的过程)
  • 分支的合并指的是内容而不是分支
    $ git merge 分支名
    //若有文件不一样就会发生冲突
    
  • 查看冲突
    $ git diff
    
  • 解决冲突之后就会合并(解决就是改文件改完之后再提交)
    $ git commit '操作名'
    
  • 分支的变基(变基是改变分支开始的位置)
    $ git debase 分支名
    //这里填写的需要变基到的分支名
    
  • 分支的优选(让其他分支的提交作用于当前分支)
    $ git cherry-pick 分支编号
    

8. 远程仓库

远程仓库->本地仓库方式1

  • 先告诉本地有这个远程仓库
    git remote add 远程仓库名字(自定义) 远程仓库的地址
    
  • 从本地仓库投到远程仓库
    git push 远程仓库名字 本地仓库的分支名字
    
  • 这里输完会弹出来一个github登录界面
  • 这里去git上生成一个token
  • setting -> Develop setting -> Personal access tokens -> Generate new token(记得创建的时候勾选一些权限)

远程仓库->本地仓库方式2

  • 先cd到要放文件夹的位置然后直接
    $ git clone 远程仓库地址
    
  • 这样就会直接克隆到本地仓库
  • 但是当另一个人提交了1次代码但是你clone的时候并未clone他的代码(解决方案):
  • 此时应该是我们提交代码会报错(rejected)
  • 那么我们之间抓取该文件
    $ git fetch 远程仓库名字
    
  • 但是抓取完我们用log查看发现这是两个分支所以我们需要merge合并
    $ git merge 远程仓库拉下来的分支名
    
  • 然后再push进远程仓库就好了

  • 同时上次提交的那位的朋友

  • 他也需要把你提交的文件fetch下来
    $ git fetch 远程仓库名字
    
  • 此时他开log会发现head指向的还是现在他的版本位置也就是说他本地仓库已经拉下来了但是他本地工作区还没有更改
  • 那么就需要合并一下fetch的内容
    $ git merge 远程仓库拉下来的分支名
    
  • 还有一个更简单的操作
  • pull = fetch + merge
    $ git pull 远程仓库名字
    
  • 这样直接就能拉到工作区
目录
相关文章
|
10天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
|
4天前
|
JSON API 数据格式
OpenCode入门使用教程
本教程介绍如何通过安装OpenCode并配置Canopy Wave API来使用开源模型。首先全局安装OpenCode,然后设置API密钥并创建配置文件,最后在控制台中连接模型并开始交互。
1890 6
|
12天前
|
存储 人工智能 自然语言处理
OpenSpec技术规范+实例应用
OpenSpec 是面向 AI 智能体的轻量级规范驱动开发框架,通过“提案-审查-实施-归档”工作流,解决 AI 编程中的需求偏移与不可预测性问题。它以机器可读的规范为“单一真相源”,将模糊提示转化为可落地的工程实践,助力开发者高效构建稳定、可审计的生产级系统,实现从“凭感觉聊天”到“按规范开发”的跃迁。
1895 18
|
10天前
|
人工智能 JavaScript 前端开发
【2026最新最全】一篇文章带你学会Cursor编程工具
本文介绍了Cursor的下载安装、账号注册、汉化设置、核心模式(Agent、Plan、Debug、Ask)及高阶功能,如@引用、@Doc文档库、@Browser自动化和Rules规则配置,助力开发者高效使用AI编程工具。
1349 7
|
14天前
|
IDE 开发工具 C语言
【2026最新】VS2026下载安装使用保姆级教程(附安装包+图文步骤)
Visual Studio 2026是微软推出的最新Windows专属IDE,启动更快、内存占用更低,支持C++、Python等开发。推荐免费的Community版,安装简便,适合初学者与个人开发者使用。
1353 13
|
10天前
|
人工智能 JSON 自然语言处理
【2026最新最全】一篇文章带你学会Qoder编辑器
Qoder是一款面向程序员的AI编程助手,集智能补全、对话式编程、项目级理解、任务模式与规则驱动于一体,支持模型分级选择与CLI命令行操作,可自动生成文档、优化提示词,提升开发效率。
822 10
【2026最新最全】一篇文章带你学会Qoder编辑器
|
14天前
|
人工智能 测试技术 开发者
AI Coding后端开发实战:解锁AI辅助编程新范式
本文系统阐述了AI时代开发者如何高效协作AI Coding工具,强调破除认知误区、构建个人上下文管理体系,并精准判断AI输出质量。通过实战流程与案例,助力开发者实现从编码到架构思维的跃迁,成为人机协同的“超级开发者”。
1103 96
|
8天前
|
云安全 安全
免费+限量+领云小宝周边!「阿里云2026云上安全健康体检」火热进行中!
诚邀您进行年度自检,发现潜在风险,守护云上业务连续稳健运行
1182 2

热门文章

最新文章