当前位置: 首页 > news >正文

Git从了解到操作

Git常用命令

基本的linux命令

  • ls / ll 查看当前目录( ls 是查看目录有哪些文件夹,ll 是查看隐藏文件)
  • cat 查看文件内容
  • touch 创建文件
  • vi vi编辑器 (使用 vi 编辑器是为了方便展示效果,也可以记事本、editPlus、notPad++等其它编辑器)

备注

  • Git GUl: Git 提供的图形界面工具
  • Git Bash: Git 提供的命令行工具

当安装 Git 后首先要做的事情是设置用户名称和 email 地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息 。

基本配置

  1. 打开Git Bash

  2. 设置用户信息

    • git config --global user.name “itcast”
    • git config --global user.email “hello@itcast.cn”
  3. 查看配置信息

    • git config --global user.name
    • git config --global user.email

为常用指令配置别名

有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。

  1. 打开用户目录,创建.bashrc文件
    部分 windows 系统不允许用户创建点号开头的文件,可以打开 gitBash , 执行 touch ~/.bashrc

  2. .bashrc 文件中输入如下内容

    #用于输出git提交日志
    alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
    #用于输出当前目录所有文件及基本信息
    alias ll='ls -al'
    

解决Gitbash乱码问题

  1. 打开 GitBash 执行下面命令

    git config --global core.quotepath false
    
  2. ${git_home}/etc/bash.bashrc 文件最后加入下面两行

    export LANG="zh_CN.UTF-8"
    export LC_ALL="zh_CN.UTF-8"
    

获取本地仓库

要使用 Git对我们的代码进行版本控制,首先需要获得本地仓库

  1. 在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init
  4. 如果创建成功后可在文件夹下看到隐藏的.git目录。

基础操作指令

Git 工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。

在这里插入图片描述

  1. git add (工作区 -> 暂存区) git add .

  2. git commit (暂存区 -> 本地仓库) git commit -m "注释内容XXXXX"

  3. 查看当前状态 git status

  4. 查看提交日志 git log

    简化查看 git log --pretty=online --abbrev-commit --all --graph

  5. 从Git bash 中退出 vim 编辑浏览状态 使用:Esc+shift+z+z

  6. 版本回退 git reset --hard commitID

    • commitID 可以使用git log或者git-log查看
  7. 查看已经删除的记录 git reflog

  8. 添加文件至忽略列表

    一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore 的文件(文件名称固定),列出要忽略的文件模式。

分支

1 查看本地分支

  • 命令: git branch

2 创建本地分支

  • 命令: git branch 分支名

3 切换分支(checkout)

  • 命令: git checkout 分支名
  • 命令: git checkout -b 分支名 直接切换到一个不存在的分支(创建并切换)

4 合并分支(merge)

一个分支上的提交可以合并到另一个分支

  • 命令: git merge 分支名称

5 删除分支

不能删除当前分支,只能删除其他分支

git branch-d b1 删除分支时,需要做各种检查

git branch -D b1 不做任何检查,强制删除

6 解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区(add)
  3. 提交到仓库(commit)

Git 远程仓库

  • 生成SSH公钥
    • ssh-keygen -t rsa
    • 不断回车
      • 如果公钥存在,则自动覆盖
  • 设置账户公钥
    • 获取公钥
      • cat ~/.ssh/id_rsa.pub
    • 验证是否成功
      • ssh -T git@github.com 接着输入 yes

操作远程仓库

1 添加远程仓库

在 github 中

git remote add origin https://github.com/liuxu0903/PluginManagement.git 其中 https://github.com/liuxu0903/PluginManagement.git 是你的仓库地址。

在 gitee 中

在这里插入图片描述

2 查看远程仓库

命令:git remote

3 推送到远程仓库

在 github 中

1. git add .
2. git commit -m “修改标记”
3. git push origin main

在 gitee 中

在这里插入图片描述

相关文章:

  • JavaEE: 深入探索TCP网络编程的奇妙世界(二)
  • 建立队列,插入队列,删除队列
  • scrapy之setting文件详解
  • 0基础学习PyTorch——时尚分类(Fashion MNIST)训练和推理
  • 阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
  • 10.Lab Nine —— file system-上
  • 丹摩智算(damodel)部署stable diffusion实验
  • 三子棋小游戏
  • 【React】组件通信
  • Android 已经过时的方法用什么新方法替代?
  • 使用Python解决数据分析中的相关性分析
  • macOS 15 Blank OVF - macOS Sequoia 虚拟化解决方案
  • 分享个锂电池升压芯片,3.7V升5V大电流输出的芯片。AD2403 PWM升压芯片
  • 如何创建一个包含多个列的表?
  • 828华为云征文|华为云Flexus云服务器X实例——部署EduSoho网校系统、二次开发对接华为云视频点播实现CDN加速播放
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • canvas绘制圆角头像
  • create-react-app做的留言板
  • docker python 配置
  • echarts的各种常用效果展示
  • IOS评论框不贴底(ios12新bug)
  • Java多态
  • php中curl和soap方式请求服务超时问题
  • redis学习笔记(三):列表、集合、有序集合
  • scala基础语法(二)
  • vue:响应原理
  • vue-cli在webpack的配置文件探究
  • 基于axios的vue插件,让http请求更简单
  • 聊聊flink的BlobWriter
  • 每天一个设计模式之命令模式
  • 漂亮刷新控件-iOS
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 区块链分支循环
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何在 Tornado 中实现 Middleware
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​决定德拉瓦州地区版图的关键历史事件
  • ( 10 )MySQL中的外键
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (C语言)fgets与fputs函数详解
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (十一)手动添加用户和文件的特殊权限
  • (四)库存超卖案例实战——优化redis分布式锁
  • (算法二)滑动窗口
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原創) 物件導向與老子思想 (OO)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)为C# Windows服务添加安装程序
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NetCore 如何动态路由
  • .NET上SQLite的连接