美文网首页
Git相关内容

Git相关内容

作者: 喑宝儿 | 来源:发表于2021-06-01 18:06 被阅读0次
1、版本控制系统

(1)本地版本控制系统;

(2)集中化的版本控制系统(客户端是最新的版本)

  • eg:SVN:不支持离线提交版本更新;中心服务器崩溃,所有人无法正常工作;版本数据库故障后,所有更新历史记录会丢失);

(3)分布式版本控制系统(基于服务器、客户端的运行模式,去中心化)(eg:Git)

  • 客户端是服务器的完整备份
  • 客户端断网后仍支持离线本地提交版本更新
  • 服务器故障或损坏,可用人一个客户端的备份进行恢复
2、SVN与Git记录的比较

(1)SVN的差异比较

存储的是一组基本文件和每个文件随时间逐步累积的差异(即记录每一次的差异)。节省磁盘空间,耗时且效率低。版本切换时,需要去掉部分差异

(2)Git的记录快照

在原有的文件版本基础上生成一份新的文件,类似于备份。文件未修改的话,不重新存储文件,只保留一个链接指向之前存储的文件。占用磁盘空间大,版本切换非常快,切换时恢复目标版本的快照即可

(3)Git的代码一般情况下都在本地进行提交,联网之后或者完成之后再推到中心服务器上

3、Git中的三种状态:已修改、已暂存、已提交

在工作区修改文件——将下次要提交的更改进行暂存——提交更新,找到暂存区的文件,将快照永久存在仓库中

工作区——暂存区——仓库

4、配置用户信息
git config --global user.name "用户名"
git config --global user.mail "邮箱"
git config --list --global 查看所有的全局配置项
5、git常用命令
// 获取帮助信息
git help config   |   git config -h 

/** 获取git仓库的两种方式 */
1、将尚未进行版本控制的本地目录转换为git仓库
打开“Git bash”
执行git init命令将当前的目录转化为git仓库
2、从其它服务器克隆一个已存在的git仓库

/* 显示文件暂存状态 */
git status
git status --short
git status -s

/* 跟踪一个文件,将文件添加至暂存区 */
// 功能1:可以用它开始跟踪新文件
// 功能2:将已跟踪的、且已修改的文件放到暂存区
// 功能3:把有冲突的文件标记为已解决的状态
git add 文件名

/* 提交更新,写文件名,提交这个文件,不写文件名,提交所有的文件 */
git commit (文件名) -m "描述"

/* 撤销修改(只能撤销工作区的操作) */
git checkout -- 文件名
// 撤销工作区未暂存的所有修改
git checkout .

/* 一次性暂存多个文件 */
git add .

/* 从暂存区中移除对应的文件 */
git reset HEAD -- 要移出的文件名称
// 从暂存区移除多个文件
git reset HEAD -- .
git restore --staged <文件名>

/* 跳过暂存区 */
git commit -a -m "描述信息"

/* 从git中移除文件 */
// 从仓库中和工作区都移除
git rm -f 文件名
// 只从仓库中移除,工作区保留
git rm --cached 文件名
6、忽略文件(.gitignore,文件在忽略之前已经提交,那此文件将不会被忽略)

(1)以#开头的是注释

(2)以/结尾的是目录

(3)以/开头防止递归(/TODO忽略当前目录下的TODO文件夹,subdir/TODO不会忽略其它文件夹下面的TODO)

(4)以!开头的是取反(除了自身其它都忽略)

(5)glob模式对文件盒文件夹进行匹配

*        匹配0或多个任意字符
[abc]    匹配任何一个列在方括号中的字符
?        只匹配一个任意字符
[a-b]    从a到b之间的字符都可以匹配
7、查看提交历史
// 查看完整提交历史(当前版本之前),最近的在最上面按q键停止
git log
// 查看最近的n条提交历史
git log -n
// 让提交信息在同一行显示
git log -n --pretty=oneline
// 让提交信息在同一行显示,并自定义输出格式
// %h(提交的简写哈希值)
// %an(作者名字)
// %ar(作者修订日期,按多久以前的方式显示)
// %s(提交说明)
git log -n --pretty=format:"%h | %an | %ar | %s"
8、回退到指定版本
// 在第一行查看所有的版本
git log --pretty=oneline
// 根据指定的提交ID,回退到指定版本
git reset --hard <CommitID>
// 在旧版本中执行此命令,查看命令的操作历史(当前版本之后的也能看到)
git reflog --pretty=oneline
// 再次根据最新提交的ID,跳转到最新的版本
git reset --hard <CommitID>
9、开源

开源:不仅提供程序,还提供程序的源代码

闭源:只提供程序,不提供程序源代码

10、开源协议(拥抱开源:我为人人,人人为我)
1、BSD
2、Apache Licence2.0
3、GPL
具有传染性的一种开源协议,不允许修改后和衍生的代码作为闭源的商业软件发布和销售
使用GPL的最著名的软件项目是:Linux
4、LGPL
5、MIT
目前限制最少的协议,在修改代码后,需要有作者的许可
使用MIT的软件项目有jquery&nodejs

相关文章

  • Git相关内容

    1、版本控制系统 (1)本地版本控制系统; (2)集中化的版本控制系统(客户端是最新的版本) eg:SVN:不支持...

  • git分支相关内容

    Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影...

  • git的相关内容

    一.什么是git什么是github? 分布式版本管理系统,一个是本地的仓库,一个是远程的仓库。 二.git关联远程...

  • Git分支相关内容

    首先来过一下git pull与git push的用法,了解过后,最后还是推荐每次pull、push时都把内容写全,...

  • 对于GIT的一些学习总结

    系统学习了git的相关内容,并作出了一部分总结: GIT : 1.创建版本库: git init 在一个创建好的空...

  • git操作:关于tag、分支、项目push到远程

    git操作 1、tag push到远程 给当前版本打tag (标注:tag content:当前版本的相关内容) ...

  • git 代码管理相关内容

    1、安装git 2、git 本地配置 设置username 和 email(git提交代码到的git平台会记录) ...

  • Git实现简述

    今天再次复习了git的相关内容,我觉得其中有部分内容值得记录,关于其做版本管理的实现方式。 首先git创建成功后会...

  • [转]从一个git仓库迁移到另外一个git仓库

    摘要: git仓库迁移声明 相关内容是根据网络资料整理所得,仅供参考。 1 建立新库 从原地址克隆一份裸版本库,比...

  • Git查看、删除、重命名远程分支和tag

    这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支删除远程分支和tag删除不存...

网友评论

      本文标题:Git相关内容

      本文链接:https://www.haomeiwen.com/subject/olhgsltx.html