Git|Git 版本控制 未完
Git 版本控制
- 概念
GIT是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 - 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的
- 工作区(working Directory): 仓库文件夹里面,除了
.git目录
以外的内容 - 版本库(Repository): .git目录, 用于存储记录版本信息
- 版本库中的暂缓区(staga):
- 版本库中的分支(master): git自动创建的第一个分支
- 版本库中的Head指针: 用于指向当前的分支
- gitadd 和 git commit 指令的作用
- git add : 把文件修改添加到暂缓区
文章图片
647982-143ae6cdb18d3212.webp.jpg
- git add : 把文件修改添加到暂缓区
+ git commit : 把暂缓区的所有内容提交到当前Head指针指向的分支
文章图片
647982-55c339632d9e540f.png
git自学网站 : https://backlog.com/git-tutorial/cn/Git使用环境
- 多人开发是需要一个共享版本库, 单人开发初始化一个本地卡即可
- 共享版本库的形式
- 本地共享库 : 文件夹/U盘/硬盘
- 远程共享库 : 自己搭建git服务器/托管到第三方平台(github/oschina等)
- 无论是单人开发还是多人开发,客户端都可以使用命令行或者图形化界面使用git
Git help
: git指令帮助手册
- git init: 仓库初始化(个人仓库)
- 仓库文件目录
HEAD : 指向当前分支的一个提交
description : 项目的描述信息
config :项目的配置信息
info/ :里面有一个exclude 文件 , 指定本项目要忽略的文件
objects/ :Git对象库(commit / tree/ blob / tag )
refs/ :标识每个分支指向哪个提交
hooks/ :默认的hook脚本
- Git 设置配置信息
- 配置用户名:
git config "user .name "用户名"
(用于跟踪修改记录)
- 配置邮箱 :
git config "user.email "邮箱"
( 用于多人开发间的沟通 )
- 查看配置信息 :
git config -l
- 编辑配置信息 :
git config -e
- 查看配置信息 :
- 查看文件状态 :
git status
- 查看某个文件的状态 :
git status + 文件名
- 查看当前路径的所有文件的状态 ;
git status
- 将工作区文件添加到暂缓去 :
git add
- 保存某个文件到暂缓区 :
git add + 文件名
- 保存所有文件到暂缓区 :
git add .
(最后加个点)
- 将暂缓区的文件提交到当前分支
- 提交某个文件到分支 :
git commit -m + "注释解释说明" + 文件名
- 提交暂缓区当前路径所有文件到分支 ;
git commit -m "注释"
【Git|Git 版本控制 未完】查看文件修改日志 :git log
- 查看某个文件的修改日志 :
git log + 文件名
- 查看当前所以文件的修改日志 :
git log
- 用一行的方式查看简单的日志信息 :
git log --pretty=oneline
- 查看最近N次的修改 :
git log - N
- 查看文件的最新改动 :
git diff
- 查看某个文件的最新改动 :
git diff + 文件名
- 查看所有文件的最新改动 :
git diff
- 查看分支引用记录 ( 能查看所有的版本号) :
git reflog
- 删除文件 (删完之后要进行commit操作才能同步到版本库) :
git rm
- 版本回退 ( 建议加上-hard 参数, git 支持无限次返回) :
git reset
- 回退到上一个版本:
git reset --hard HEAD^
- 回退到上上一个版本:
git reset --hard HEAD^^
- 回退到上N个版本:
git reset --hard HEAD~N
- 回退到任意版本 :
git reser --hard + 版本号
(版本号用七位即可)
推荐阅读
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- gitlab|Gitlab升级(12.2.1到14.6.4)
- 我的拖延症如何控制了我,又一次
- 真正的爱
- C语言的版本比较
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- 常用git命令总结
- 每天听本书《控制焦虑》
- K8S|K8S 生态周报| Istio 即将发布重大安全更新,多个版本受影响