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 远程仓库名字
    
  • 这样直接就能拉到工作区
目录
相关文章
|
Linux 开发工具 git
【Git】Git基本操作-1
【Git】Git基本操作-1
|
7月前
|
安全 Ubuntu 开发工具
【Git】Git工具的正确使用指南(系统性总结)
本指南系统梳理Git核心概念(仓库、工作区、暂存区、提交、分支)与全流程操作,涵盖安装配置、本地开发、分支管理、远程协作(Fork+PR)、.gitignore配置及提交规范,强调安全操作与最佳实践,助开发者高效、规范使用Git。
1344 9
|
6月前
|
Linux Shell 开发工具
【超详细】Git下载 | Git版本控制工具安装保姆级教程(附官网安装包)
Git是由Linus Torvalds于2005年开发的分布式版本控制系统,全球最流行。它可本地完整存储历史、高效分支管理、离线操作,支持多人协作与精准版本回溯,是开发者必备基础工具。(239字)
5631 136
|
7月前
|
测试技术 API 持续交付
【Git】实际项目中 Git 的最佳实践
本文系统总结Git在实际项目中的八大最佳实践:涵盖分支策略(Git Flow/TBD)、Conventional Commits提交规范、PR代码审查要点、核心分支保护、冲突预防与解决、敏感信息管理、高效命令技巧(stash/bisect/reflog)及团队协作规范,助力提升协作效率与代码质量。
|
9月前
|
存储 人工智能 算法
拒绝职业焦虑!AI Agent搭建师的全球化职业路线与分布式协作指南
本文为AI Agent搭建师指明新出路:摆脱内卷,成为“全球数字游牧搭建师”。借助开源协作、跨境远程工具与多文化适配,构建抗脆弱的职业护城河,在分布式时代实现技术与自由的双重解放。
296 0
|
11月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
61515 11
|
供应链 搜索推荐 安全
唯品会Vip商品详情 API 接口:开发应用与收益深度剖析
唯品会Vip商品详情API接口,作为电商数据交互的枢纽,提供详尽的商品信息与动态数据,助力开发者、商家及市场分析者洞察市场趋势、优化商品推荐、提升用户体验,从而实现销售额增长、利润空间拓展及用户忠诚度加固,推动电商行业创新发展。
911 16
|
存储 Java 开发工具
【Git】零基础入门:配置与初始操作实战指南
本文聚焦 Git 的“从 0 到 1”配置与基础操作,旨在帮助 Java 开发者快速掌握环境搭建、用户配置、仓库初始化、代码提交、版本回退等核心技能。内容设计上避免涉及复杂的分支策略或高级命令,以实用为导向,适合零基础入门者系统学习,为后续参与企业级项目开发奠定版本控制基础。
|
数据可视化 测试技术 API
ShowDoc部署与应用:文档管理的最佳实践
在项目开发和协作中,文档管理扮演着至关重要的角色。ShowDoc作为一款卓越的开源文档管理工具,不仅提供强大的文档管理功能,还具备简单易用的协作和部署特性。我们的项目团队最初选择了ShowDoc作为文档管理工具,用以促进前后端协作。
1842 2
ShowDoc部署与应用:文档管理的最佳实践

热门文章

最新文章