JAVA基础之——版本控制系统之git
1 版本控制系统是什么
当多人协作开发一套产品时,需要能够保证代码都能够共用,那么版本控制系统就应运而生。
2 GIT
当前用的比较多的是svn和git,本文以git为例进行讲解。
git诞生于2005年,该系统开发者对该系统制定了若干目标:
速度
简单的设计
对非线性开发模式的强力支持
完全分布式
有能力高效管理类似linux内核一样的超大规模项目
3 本地部署
3.1 Git-2.20.1-64-bit.rar
3.2 Git Base配置,打开Git Base
git config —global core.autocrlf false 避免windows换行符的问题
git config —global user.name “” 每次提交时被引用的信息
git config —global user.email “” 同上
3.3 TortoiseGit客户端
4 常用命令
git clone
git pull
git fetch
git push
5 批量操作仓库
当大型项目需要有多个分支,且有多个分库时,就需要把分库代码全部克隆或是拉取了。
5.1 克隆分库代码 clone.bat
echo off
cd /d %~dp0
git clone git@ccccvvv/xxx.git
gut clone git@ccccvvv/xxx.git
gut clone git@ccccvvv/xxx.git
exit
5.2 批量拉取 pull.bat
echo off & color 0A
for /d %%i in (*) do (
cd %%i
git pull
cd ../
)
6 .git文件夹说明
当克隆一个项目后,git会生成一个.git目录,几乎所有的gir存储和操作的内容都在该目录下,如果需要备份或复制一个库,拷贝这个库即可。如下git核心部分:
objects 目录,存储所有数据内容
refs 目录,存储指向数据(分支)的提交对象的指针
HEAD 文件,指向当前分支
index 文件,保存了暂存区域信息
参考书籍
Pro Git Scott Chacon 2010-07-02
JAVA基础之——版本控制系统之git的更多相关文章
- Git基础 1 ---- 版本控制系统的介绍
1 Git 1 版本控制系统 vcs - version control system 2 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统 3 版本控制系统的主要功能 1 ...
- 分布式版本控制系统Git-----1.Git 初识
开始工作咯,师傅让我开始学习Git.刚接触我是懵逼的,"分布式版本控制系统"啥玩意啊这是,大家可不能从字面意思上理解啊,刚开始,版本控制么,我以为是团队合作的时候把开发工具.JDK ...
- 如何选择版本控制系统 ---为什么选择Git版本控制系统
版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开 ...
- 分布式版本控制系统之Git
Git Git 是目前世界上最先进的分布式版本控制系统(没有之一) 作用 源代码管理 为什么要进行源代码管理? 方便多人协同开发 方便版本控制 Git的诞生 作者是 Linux 之父:Linus Be ...
- 版本控制系统之git
一.简介 git是Linux内核项目发起者linus用C语言写的,主要用来做项目的版本控制追踪:git是无中心节点的分布式版本控制系统,也是目前很流行的版本控制系统:其安装简单,使用简单:相比传统的c ...
- 分布式版本控制系统Git-----9.Git 使用的小技巧
1. git push -u orgin master[后面push的时候可简写] 第一次push的时候-u后面加上<本地分支名><远程分支>,第二次push的时候就只需要写g ...
- 分布式版本控制系统Git-----5.Git 的push命令总结
git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. git push <远程主机名> <本地分支名>:<远程 ...
- 分布式版本控制系统Git-----4.Git 常用命令整理
1. git init 初始化 git 目录 2. git add 添加文件 git add fileName #添加指定文件 git add -i #手工选择要添 ...
- 分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit
将多次commit合并,只保留一次提交历史. PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小 ...
随机推荐
- linux环境搭建前期配置
一.永久修改主机名 1.修改network文件 # vim /etc/sysconfig/network 加入 HOSTNAME=主机名 保存退出 2.修改hosts文件 # vim /etc/hos ...
- [Scala随用随学] —— sealed声明的作用
今天在看MLlib的源码时,看到Vector的声明是sealed trait,很好奇这个sealed有什么作用,与是搜到了这个文章: http://www.cnblogs.com/rollenholt ...
- week 4 Vocabulary in paper
1.Using action verbs 1.1 deffenence between action verbs and fuzzy verbs Action verbs(strong verbs) ...
- 【Alpha】任务分解与分配
Alpha阶段总体任务规划 Alpha阶段我们的任务主要是恢复原先项目的代码运行,并增加一部分物理实验(二)的内容以及完善之前项目未完成的功能,例如后台管理及用户管理界面.在恢复项目部分的主要工作是将 ...
- E - Guess the Root 拉格朗日差值法+交互
题目传送门 题意:告诉你存在一个未知项系数最高为10的$f(x)$,你最多可以有50次询问,每次询问给出一个$x'$,系统会返回你$f(x')$的值,你需要猜一个$x''$,使得$f(x'')=0$, ...
- PHP反序列化漏洞新攻击面(BlackHat 2018)
0x00 前言 入职以来好久没有写过文章了,入职的时间里也和师傅们学到了很多,认识了很多的新朋友.最近因为BlackHat 黑客大会的一个议题,PHP反序列化漏洞利用被挖掘出新的攻击面.这里本着记 ...
- Add:四则运算
输入为四则运算表达式,仅由整数.+.-.*./ .(.) 组成,没有空格,要求求其值.假设运算符结果都是整数 ."/"结果也是整数 表达式 由 项 或 项 ...
- activity启动模式launchMode区别和优化
初学android的开发人员,可能会经常忽略这个重要的设置. Activity一共有以下四种launchMode:1.standard2.singleTop3.singleTask4.singleIn ...
- SVN无法读取cruuent修复方法
解决方法:在网上百度和google了一大圈之后,终于得知是断电时current和txn-current文件没有写入当前最新版本号和最新版本的路径问题 当时非常抓狂,项目刷新一直为空. 1.先把curr ...
- PHP操作sqlserver乱码解决
将捕获的参数编码转换为GB2312即可 function ($string){ returen iconv("UFT-8","GB2312//IGNORE",$ ...