版本库

Git命令详解-个人使用

六月ゝ 毕业季﹏ 提交于 2019-11-29 17:46:08
本文暂时不会涉及到团队如何使用Git的内容,而是从个人的角度探讨如何用好Git。 约定 绿色的5位字符表示提交的ID,分别指向父节点。分支用橘色显示,分别指向特定的提交。当前分支由附在其上的标识。 这张图片里显示最后5次提交,是最新提交。分支指向此次提交,另一个分支指向祖父提交节点。 git cat-file git cat-file -t,查看Git对象的类型,主要的git对象包括tree,commit,parent,和blob等。 git cat-file -p,查看Git对象的内容 git log git log主要用来显示分支中提交更改的记录。当执行git commit以存储一个快照的时候,文件详单、提交消息和提交者的信息、此次提交所基于的快照都会被保存。 git log --oneline,可以显示更加短小的提交ID. git log --graph,显示何时出现了分支和合并等信息. git log --pretty=raw,显示提交对象的parent属性. git config git config -e git config -e --global git config -e --system Git的三个配置文件分别是版本库级别的配置文件(/.git/config)、全局配置文件(用户主目录下)和系统级配置文件(/etc目录下)。这个命令的作用是打开相应的配置文件

二、创建版本库

时光毁灭记忆、已成空白 提交于 2019-11-29 14:44:25
1、新建工程目录 Colin.Tan@Noir MINGW64 /f/code $ mkdir demo Colin.Tan@Noir MINGW64 /f/code $ ls demo/ Colin.Tan@Noir MINGW64 /f/code $ cd demo/ 2、使用git init 命令将该目录变成Git可以管理的 repository Colin.Tan@Noir MINGW64 /f/code/demo $ git init Initialized empty Git repository in F:/code/demo/.git/ 在新建的工程目录中新增了一个名为 .git的目录,该目录用于Git追踪和管理版本库。该目录以. 开头,所以默认是隐藏的,使用 ls -ah 命令即可进行查看。 3、将新建的文件添加进仓库 1)使用git add 命令告诉Git,将文件添加到仓库(文件须在刚新建的工程仓库的目录中) Colin.Tan@Noir MINGW64 /f/code/demo (master) $ git add demo.c 在提交的时候出现以下问题:warning: LF will be replaced by CRLF in demo.c. 出现原因:该add 的文件是在windows下生成的,windows中的换行符是CRLF

理解Git

柔情痞子 提交于 2019-11-29 02:39:21
理解Git ——《Git版本控制管理(第2版)》读书笔记一 Git特点或设计理念 有助于分布式开发 能够胜任上千开发人员的规模 性能优异(压缩技术、差异比较技术) 保持完整性和可靠性(安全散列函数) 强化责任(对所有改动可追踪) 不可变性 原子事务(Git通过记录完整、离散的版本库状态来实现原子事务。) 支持并且鼓励基于分支的开发(分支、合并) 完整的版本库(每个人的版本库中都有一份关于每个文件的完整的历史修订信息) 一个清晰的内部设计(对象模型) 免费自由 基本概念 git版本库 :一个简单的数据库,其中包含所有用来维护与管理项目的修订版本和历史的信息。 两个主要数据结构: 对象库 :Git版本库实现的心脏。包含你的原始数据文件、所有日志信息、日期等等。它包括4中对象类型: 块(blob):二进制大对象。文件的每一个版本表示为一个块。一个blob只保存一个文件的数据。 目录树(tree):一个tree对象代表一层目录信息。它记录blob标识符、路径名和一个目录里所有文件的一些元数据。可递归引用其他目录树或子树对象。 提交(commit):一个commit对象保存版本中每一次变化的元数据,包括作者、提交者、提交日期和日志消息。 标签(tag):一个tag对象分配一个任意的且人类可读的名字给一个特定对象。 索引 :一个临时的、动态的二进制文件,它描述整个版本库的目录结构

【转】推荐!手把手教你使用Git

吃可爱长大的小学妹 提交于 2019-11-28 18:36:09
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 三:在windows上如何安装Git? msysgit是 windows版的Git,如下: 需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 “Git –> Git Bash”,如下: 会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下: 安装完成后,还需要最后一步设置,在命令行输入如下: 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。 注意: git config –global 参数

在Ubuntu18.04上使用SVN

十年热恋 提交于 2019-11-28 17:30:36
一、SVN安装与卸载 svn安装: ~ $sudo apt - get update ~ $sudo apt - get install subversion 检查是否安装成功: 通过查看svn版本信息来验证 ~ $svnserve –version 或者通过以下方式查看是否安装成功 ~ $ ps aux | grep svnserve svn卸载: ~$sudo apt-get remove –purge subversion 二、创建SVN版本库 在home下创建svn文件夹 ~ $sudo mkdir / home / svn 在svn下创建repository文件夹,作为我们创建版本库对应的目录 ~ $sudo mkdir / home / svn / repository 更改repository文件夹权限,否则会出现客户端访问服务器被拒的情况 ~ $sudo chmod - R 777 / home / svn / repository 创建版本库 ,可创建多个自定义的库,添加新库不需要重启svn服务,以下是创建名叫repository的版本库 ~ $sudo svnadmin create / home / svn / repository 完成后,会在repository文件夹下生成以下这些文件,每个版本库在创建时都会产生以下这些文件

Git详细介绍

天涯浪子 提交于 2019-11-28 12:55:07
1.git add . git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件。注意 -A 选项后面还有一个句点。 git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件 2.git commit -m "提交注释" 3.git push origin 分支名称,一般使用:git push origin master 分布式: Git 版本控制 系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。 Git离线操作性:Git可以离线进行代码提交,因此它称得上是完全的分布式处理,Git所有的操作不需要在线进行;这意味着Git的速度要比SVN等工具快得多,因为SVN等工具需要在线时才能操作,如果网络环境不好, 提交代码会变得非常缓慢。 Git基于快照:SVN等老式版本控制工具是将提交点保存成补丁文件,Git提交是将提交点指向提交时的项目快照,提交的东西包含一些元数据(作者,日期,GPG等)。 Git的分支和合并

CentOS SVN客户端应用

穿精又带淫゛_ 提交于 2019-11-28 12:36:49
一、CentOS安装TortoiseSVN yum install -y subversion 二、SVN客户端命令 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关) 例如:svn commit -m “add test file for my test“ test.php 简写:svn ci 4、加锁/解锁 svn lock -m “LockMessage“ [--force] PATH 例如:svn lock -m “lock test file“ test.php svn unlock PATH 5、更新到某个版本 svn update -r m path 例如: svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

Python全栈之路---特别篇(git使用)

爱⌒轻易说出口 提交于 2019-11-28 08:27:41
版本控制 说起版本,大家肯定都不会感到陌生,我们经常会看到手机APP的升级提示,这就是该软件的又一新版本的面世。再来说一个大家所熟悉的例子。还记得大学毕业的时候我们被毕业论文折磨的日子吗?导师总是能够帮你发现一个又一个新的错误,不停修改,每次修改都会成为一个版本留存,于是就有了下面的这一幕场景: 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3.doc 毕业论文_完整版1.doc 毕业论文_完整版2.doc 毕业论文_完整版3.doc 毕业论文_最终版1.doc 毕业论文_最终版2.doc 毕业论文_死也不改版.doc ... 这是我们之前所使用的版本控制方法,修改后也要避免以前文件的丢失,于是只能这样保存一个又一个文件。这种方式虽然可行,但是也有很多缺点: 1、文件数较多,保留所有版本时需要为每个版本保存一个文件以备用 2、如果需要对这些操作进行协同操作,不免要讲这些文件打包之后拷来拷去 3、容易丢失,一旦失手,删除后就无法恢复 于是为了解决上述版本控制的问题,一批版本控制工具应运而生:VSS、CVS、SVN、Git等,而在这其中Git处于绝对的霸主地位。 注意:一般版本控制工具包含两部分 客户端(本地):本地编写内容以及版本记录 服务端(网盘):将内容和版本记录同时保存在远程(可有可无) Git介绍 Git

Git的使用

眉间皱痕 提交于 2019-11-28 07:38:25
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 三:在windows上如何安装Git? msysgit是 windows版的Git,如下: 需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 "Git --> Git Bash",如下: 会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下: 安装完成后,还需要最后一步设置,在命令行输入如下: 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。 注意: git config --global

分布式版本控制系统——git

谁都会走 提交于 2019-11-27 22:04:31
文章目录 一、git的简介 1.git的功能特性 二、git的常用命令使用 1.git的安装 2.本地版本库的搭建和文件的上传 3.暂存区和工作区的状态区别 4.版本的回退和升级 一、git的简介 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git最初 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 1.git的功能特性 集中式版本控制系统最大的毛病就是必须联网才能工作。 那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。 二、git的常用命令使用 1.git的安装 因为git本就是为了管理linux而诞生的