仓库

Git 仓库结构 (一)***

筅森魡賤 提交于 2020-01-14 04:55:33
Git 仓库 1.1Git 基本概念 在Git中,我们将需要进行版本控制的文件目录叫做一个 仓库(repository) ,每个仓库可以简单理解成一个目录,这个目录里面的所有文件都通过Git来实现版本管理,Git都能跟踪并记录在该目录中发生的所有更新。 现在我们已经知道什么是repository(缩写repo)了,假如我们现在建立一个仓库(repo),那么在建立仓库的这个目录中有一个“.git”的文件夹。这个文件夹非常重要,所有的版本信息,更新记录,以及Git进行仓库管理的相关信息 全部保存在这个文件夹里面。所以,不要修改/删除其中的文件,以免造成数据的丢失。 进一步的讲解请参考下面一张图,大概展示出了我们需要了解的基本知识。      根据上面的图片,下面给出了每个部分的简要说明: Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。 WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间,除了.git之外的都属于工作区。 .git:存放Git管理信息的目录,初始化仓库的时候自动创建。 Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。 Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。

git(程序员的时光机)

点点圈 提交于 2020-01-14 04:22:06
git 是什么 最强大的分布式版本控制系统,没有之一 版本控制: 完成一项任务,最终的成果可能是经过中间修修修改n次得到的,在这n个版本之间的切换就叫版本控制。 集中式的版本控制svn,cvs缺点: 需要联网,还很慢 git 主要特点: (1)直接记录快照,而不是记录差异 (2)几乎所有的操作都是本地完成,除了与远程仓库之间的互动需要联网,其他无需网络,而且git记录了之前做的所有操作,想看一个月之前的,无需将旧版本拉下来,git已经记录下来了 (3)git 保证完整性,git数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名,属于你的任何操作,git都很清楚 github:一个网站, https://github.com/ 基于git的代码托管仓库,某种程度上就是一种代码网盘,上面放着各种开源的代码(也有私有的仓库) Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 git的安装 centos系统 yum install -y git git初始化 mkdir git # 创建用于git管理的文件夹 git cd git # 进入该文件夹 git init # 将该文件夹变成一个本地可以管理的仓库,该文件夹下多一个.git的文件夹 用来管理版本库 配置git git config -

git基本用法

耗尽温柔 提交于 2020-01-13 19:24:19
参考摘录自:https://www.cnblogs.com/yaozhongxiao/p/3811130.html 感谢原博主 git 模型可以抽象为远程仓库remote,本地三级仓库: level1——working directory、level2——stage(index)、level3——repository(History) 。 git 各个命令可以理解为在各个仓库间转移数据,各个命令对应对每个仓库输入输出。 基本用法: 上面的四条命令在 工作目录、暂存目录(也叫做索引)和仓库之间 复制文件。 git add files 把当前文件放入暂存区域。 git commit 给暂存区域生成快照并提交。 git reset -- files 用来撤销最后一次git add files,你也可以用git reset 撤销所有暂存区域文件。(操作对象是HEAD) git checkout -- files 把文件从暂存区域复制到工作目录,用来丢弃本地修改。(目的是working Directory) 可以用 git reset -p, git checkout -p, or git add -p进入交互模式。 也可以跳过暂存区域直接从仓库取出文件或者直接提交代码, 如下 git commit -a 相当于运行 git add 把所有当前目录下的文件加入暂存区域再运行。git

git的基本介绍和使用

倾然丶 夕夏残阳落幕 提交于 2020-01-13 15:03:55
前言:从事iOS开发一年多以来,一直使用svn管理源代码。对svn的特点和弊端已经深有体会。前些天双十二前后,项目工期紧张到爆,起早贪黑的加班,可谓披星戴月,这还不止,回到家中还要疯狂的敲代码。那么问题来了,公司svn服务器是内网服务器,在家里无法访问,提交/更新代码就成了问题。跟技术总监(笔者公司为初创型小公司,直接和技术总监对话)沟通后,技术总监同意了把svn服务器改为外网服务器。但是,这并不是好的解决办法,毕竟svn服务器挂到外网上,从安全性上总是说不过去。于是乎,git成了我心中取代svn的上上策。昨天上班开会就跟CTO提出使用git管理代码的建议,他也愉快的答应了。 但是,多数人对git并没有像对svn这般了解,所以,针对于git和svn的特点和区别,我希望能够通过这篇文章拨开大家心中的疑惑。 简介 git是一款开源的分布式版本管理工具,git的诞生也是相当传奇的,由Linux之父-Linus Benedict Torvalds开发而来,当初Linus Benedict Torvalds仅仅是为了辅助Linux内核的开发才一并开发了这个至今为止世界上最快的、最简单的版本管理工具。关于这个传奇的故事,笔者就不在此赘述。 目前,git虽然很流行,但也仅仅是在国外。在国内,多数公司还在使用svn进行版本控制,不过不用担心,据笔者所知,已经有很多大公司(像BAT这样的互联网公司

Maven 打包 package install deploy 区别

回眸只為那壹抹淺笑 提交于 2020-01-13 11:24:13
一、打包区别 mvn package :打包到本项目,一般在项目 target 目录下。 mvn install :打包到本地仓库,如果没设置 Maven 本地仓库,一般在 用户/.m2 目录下。 mvn deploy :打包上传到远程仓库,如:私服 nexus 等,需要配置 pom 文件。 二、打包过程 mvn clean package 依次执行:clean、resources、compile、testResources、testCompile、test、jar(打包)。 mvn clean install 依次执行:clean、resources、compile、testResources、testCompile、test、jar(打包)、install。 mvn clean deploy 依次执行:clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy。 由上面分析主要区别如下: package命令:完成项目编译、单元测试、打包功能,但打包文件未部署到本地Maven仓库和远程Maven仓库。 install命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库,但未部署到远程Maven仓库。 deploy命令:完成项目编译、单元测试、打包功能

Git入门——(一)基本概念及原理

柔情痞子 提交于 2020-01-13 07:53:46
目录 基本概念及原理 关于版本控制 Git入门 常用应用场景整理 常见问题 附录及参考 基本概念及原理 关于版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 工作中我们对项目代码进行版本控制,但实际上,我们可以对任何类型的文件进行版本控制。 本地版本管理系统 RCS是本地版本管理系统中最流行的一种,解决人们采用复制项目或文件的古老方式来管理文件的问题。 它的工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。 集中式版本管理系统 集中式版本管理系统最常用的如 Subversion ,解决开发者协同工作的问题; 这类系统,诸如 CVS、Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 优点: 可以了解项目中其他人做了什么 管理员可以掌控每个开发者的权限 轻松管理一个CVCS。 缺点:中央服务器单点故障时,就无法协同工作。如果磁盘损坏,那将是毁灭性的灾难。 分布式版本管理系统 分布式版本管理系统(DVCS)面世,就是为了解决上述问题。这类系统如 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把

git for windows 本地仓库

自古美人都是妖i 提交于 2020-01-13 05:51:00
1.安装 先在网上安装好git for windows的程序 在gitbash中输入以下 $ git config --global user.name "Your Name" $ git config --global user.email email@example.com 2.创建版本库 根据自己的喜好找个目录创建一个文件夹,我这里选的是E:/mygit/ 右键-git bash here,输入如下,把这个目录变成Git可以管理的仓库 $ git init 发现当前目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。 3.把文件添加到版本库 在当前目录下创建一个readme.txt,内容为 Git is a version control system. Git is free software. 用add将文件添加到仓库 $ git add readme.txt 用commit将文件提交到仓库 $ git commit -m "wrote a readme file" [master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme

git使用

和自甴很熟 提交于 2020-01-13 03:05:55
1.安装git git:查看是否已经安装 sudo apt install git :安装 2.创建版本库 git init:将一个普通目录变成版本库 3.将文件添加到版本库 git add filename :将文件添加到缓存区 git commit -m "日志" :提交文件到版本库【仓库】 *** 请告诉我你是谁。 #不知道主人是谁,则需要配置用户名和邮箱 #注意:用户名和邮箱来自github上的注册​运行 git config --global user.email "you@example.com" git config --global user.name "Your Name" 4.时光穿梭机(新旧版本切换) git status:查看仓库当前的状态 git diff filename:查看仓库具体的改动 版本回退 在git中,用HEAD表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,如果向上找100个版本,则表示为HEAD~100. git log: 查看提交历史记录,以便于确定回到哪个历史版本 git log --pretty=oneline: 只显示commit id 和 版本日志 (一行显示) git reflog: 查看历史执行过的git操作,从上往下寻找第一个commit的操作,则是未来的最新的版本 git reset --hard 版本号

GIT \\ SVN 版本管理 git + gitHub

落爺英雄遲暮 提交于 2020-01-13 03:05:20
场景1 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件, 这样一直改下去,最后你的Word文档变成了这样: 场景2 有些部分需要你的财务同事帮助填写,于是你把文件Copy到 U盘 里给她(也可能通过Email发送一份给她),然后,你继续修改Word文件。一天后,同事再把Word文件传给你, 此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难 理想状态( 版本控制 ) 版本 文件名 用户 说明 日期 1 index.txt 张三 删除了'我爱你' 7/12 10:38 2 index.txt 张三 增加了"请嫁给我" 7/12 18:09 3 index.txt 李四 删除了“请嫁给我” 7/13 9:51 4 index.txt 张三 增加了:“拜拜” 7/14 15:17 SVN(了解) 版本控制工具:、 集中式得版本控制工具 (不安全) 网络共享 工作流程: 项目负责人创建好项目服务后 参与项目人员检出项目(拉取) 参与项目人员编辑完之后,添加add 将文件提交到服务器 commit git Git是目前世界上最先进的分布式版本控制系统(没有之一)。 Git有什么特点?简单来说就是:高端大气上档次! git诞生 集中式 vs

创建GitHub账号及使用

瘦欲@ 提交于 2020-01-12 23:04:43
1.进入GitHub官网(( 地址 ) 2.点击Sign up注册GitHub账号 3.输入账号,邮箱和密码完成注册(这里需要谷歌或者火狐的最新浏览器,如果不是,需要升级一下你的浏览器) 4. 5.新建一个仓库 6.如果提示你邮箱未验证,那就需要你去验证一下 7.创建自己的仓库 8.将自己的项目交给git管理 找到自己项目所在的文件夹右键,完成初始化 这时你会发现test里面多了个.git文件夹,它是Git用来跟踪和管理版本库的,因为它默认是隐藏文件,要是看不到就设置下文件夹和搜索选项。 然后通过git add .(注意这个".",是有空格的,"."代表这个文件夹下的目录全部都提交。你也可以通过git add 文件名 提交指定的文件)把文件添加到缓存区   然后可以通过git status命令,查看下现在的状态,也可以不看,随你    然后在使用命令git commit -m “这里面写你的注释” 把文件提交的本地仓库 下面就到了连接远程仓库(也就是连接Github) 由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:   创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建 $ ssh-keygen -t rsa -C