博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git入门和使用实践
阅读量:4298 次
发布时间:2019-05-27

本文共 3901 字,大约阅读时间需要 13 分钟。

文章目录

Git入门和使用实践

一、前言

  1. 环境说明
  • 操作系统:Windows 10 专业版
  • Git 版本:2.30.0
  1. 简介
  • Git是一个 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。

Git 官网:

Git 中文网:

Learn Git Branching :

廖雪峰官网:

Git flow:

GitHub 常用忽略文件的配置:

二、正文

1.本地仓库

基础知识

在这里插入图片描述

  • 项目文件夹内为 工作区
  • git init 后,产生 .git 文件夹作为 版本库
  • 工作区内的一个文件,通过 git add 将文件添加到 暂存区 ,再通过 git commit 将文件提交到 本地仓库

安装好 git 软件后,项目文件夹内,右击鼠标 - Git Bash Here 运行指令

默认 .git 文件夹为隐藏项目

设置邮件地址和用户名

  • 用于提交项目时作为版本信息的一部分
命令 说明
git config -l 查看配置列表
git config --global user.email “you@example.com” 全局配置中设置邮箱
git config --global user.name “Your Name” 全局配置中设置用户名

将文件添加到本地仓库

命令 说明
git status 查看状态
git add 添加到暂存区
git add . 点号表示所有文件,即将当前目录所有文件添加到暂存区
git commit -m “first commit” 将暂存区的文件提交到本地仓库,-m 表示填写版本备注信息

版本状态

状态 说明
nothing to commit, working tree clean 没有需要提交的文件,即没有文件或文件已全部提交
Untracked files 创建文件后,未添加到暂存区
new file 文件首次添加到暂存区,未提交
modified 文件之前已提交,当前已对文件进行了修改

版本切换

  • 每次提交成功后,都会产生一个 ID
命令 说明
git log 查看提交的日志信息,包括 ID、作者、提交时间、备注信息和 HEAD 指针指向
git log --pretty=oneline 简化提交的日志信息,包括 ID、备注信息和 HEAD 指针指向
git reset --hard [ ID ] 切换到指定 ID 的版本,ID 可截断
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上两个版本
git reflog 查看所有提交的日志信息,避免回退后,无法找到之前的 ID

版本撤销

命令 说明
git checkout – (未提交到暂存区)撤销文件的修改,即将修改内容丢弃
git reset HEAD (已提交到暂存区)将误提交暂存区的文件回退到工作区
git restore --staged (已提交到暂存区)将误提交暂存区的文件回退到工作区

2.分支

基础知识

git flow:

  • 执行 git status 时会显示 HEAD 指针指向,标识 HEAD 的版本,即为 当前工作区的版本
  • HEAD 指针同时会指向默认的分支:master 分支
  • 一般的,企业会将 master 分支作为发布分支,不做开发,只做合并;而进行开发工作时,需要迁出开发分支(dev),完成开发后,合并到 master 分支
  • 本地仓库迁出分支可以进行模块开发或者 bug 修复,远程仓库迁出分支可以进行多人多模块开发

基础操作

命令 说明
git checkout -b [ 分支名称 ] 迁出指定名称的分支
git branch 查看当前所处分支
git checkout [ 分支名称 ] 切换到指定名称的分支
git branch -d [ 分支名称 ] 删除分支
git branch -D [ 分支名称 ] 强制删除分支
git merge [ 分支名称 ] 合并分支

冲突解决

  • master 分支中合并其它分支,需要手动修改冲突的文件,然后,在 master 分支上执行 add 和 commit 操作即可

3.远程仓库

远程仓库网站

网站 网址
github https://github.com/
码云 https://gitee.com/
Code China https://codechina.csdn.net/
gitlab(自托管的 git 项目仓库) https://gitee.com/mirrors/gitlab (镜像库)

关联远程仓库

  • 需要先在远程仓库中创建一个新的仓库
  • 设置中,可以删除仓库

创建SSH-Key

  • 仓库设置中,找到 SSH and keys 菜单,填写本地电脑生成的 SSH Public Key
  • ssh key 生成目录:C://User/[系统用户名]/ .ssh ;远程仓库填写 id_rsa.pub 的内容
命令 说明
ssh-keygen -t rsa -C “testgit@163.com” 生成 ssh key

关联和推项目

命令 说明
git remote 查看本地仓库和远程仓库的关联信息
git remote -v 查看本地仓库(origin)对应远程仓库的链接
git remote add origin [远程仓库链接<.git>] 本地仓库(origin)和远程仓库实现关联
git push -u origin master 推本地仓库(origin)的文件到远程仓库(master)
git push 推操作,执行过一次 -u 的 push 后,可省略关联信息

拉项目

命令 说明
git clone [远程仓库链接<.git>] 克隆远程仓库到本地环境
git pull 拉操作,用于更新项目

4.配置

基础知识

  • 仓库配置、全局配置和系统配置,优先级别(就近原则):仓库配置 > 全局配置 > 系统配置
  • 仓库配置位于工作区 .git 文件夹下的 config 文件
  • 全局配置位于 C://User/[系统用户名]/ 文件夹下的 .gitconfig 文件
  • 系统配置位于 git 安装目录下 etc 文件夹里面的 gitconfig 文件

查看和编辑

命令 说明
git config -l 查看配置列表
git config --local -l 查看仓库配置列表
git config --global -l 查看全局配置列表
git config --system -l 查看系统配置列表
git config --local -e 编辑仓库配置 ;-e 表示编辑
git config --global --add user.name “Your Name” 全局配置新增配置项;--add 表示新增配置项
git config --global --unset user.name 全局配置取消配置项;--unset 表示取消配置项

配置别名

  • 简化操作命令
命令 说明
git config --global alias.st status git status 命令简化为 git st
git config --global alias.ol ‘log --pretty=oneline’ git log --pretty=oneline 简化为 git ol

5.标签

  • 打标签,设置版本号;解决版本库 ID 过长不方便记忆的问题
命令 说明
git tab 查看标签列表
git tag [版本号] [ID] 打标签,绑定版本号和 ID
git tag [版本号] [ID] -m “备注信息” 打标签,并添加备注信息
git tag -d [版本号] 删除标签

6.忽略文件

github 常用忽略文件的配置:

  • 忽略工作区中的文件,即忽略那些不需要被 git 管理的文件

  • 解决方法:

    工作区根目录下创建 .gitignore 文件;

    然后,配置文件或文件类型;

    最后,将忽略文件提交到本地仓库中

三、其它

1.命令行指引

Git 全局设置

git config --global user.name "JotaX"git config --global user.email "test@163.com"

创建一个新仓库

git clone git@test.net/springboot-project.gitcd springboot-projecttouch README.mdgit add README.mdgit commit -m "add README"git push -u origin master

推送现有文件夹

cd existing_foldergit initgit remote add origin git@test.net/springboot-project.gitgit add .git commit -m "Initial commit"git push -u origin master

推送现有的 Git 仓库

cd existing_repogit remote rename origin old-origingit remote add origin git@test/springboot-project.gitgit push -u origin --allgit push -u origin --tags

转载地址:http://lznws.baihongyu.com/

你可能感兴趣的文章
vue中 不更新视图 四种解决方法
查看>>
MySQL 查看执行计划
查看>>
OpenGL ES 3.0(四)图元、VBO、VAO
查看>>
OpenGL ES 3.0(五)纹理
查看>>
OpenGL ES 3.0(八)实现带水印的相机预览功能
查看>>
OpenGL ES 3.0(九)实现美颜相机功能
查看>>
FFmpeg 的介绍与使用
查看>>
Android 虚拟机简单介绍——ART、Dalvik、启动流程分析
查看>>
原理性地理解 Java 泛型中的 extends、super 及 Kotlin 的协变、逆变
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>
RecyclerView 源码深入解析——绘制流程、缓存机制、动画等
查看>>
Android 面试题整理总结(一)Java 基础
查看>>
Android 面试题整理总结(二)Java 集合
查看>>
学习笔记_vnpy实战培训day02
查看>>
学习笔记_vnpy实战培训day03
查看>>
VNPY- VnTrader基本使用
查看>>
VNPY - CTA策略模块策略开发
查看>>
VNPY - 事件引擎
查看>>