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的更多相关文章

  1. Git基础 1 ---- 版本控制系统的介绍

    1 Git 1 版本控制系统 vcs - version control system 2 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统 3 版本控制系统的主要功能 1 ...

  2. 分布式版本控制系统Git-----1.Git 初识

    开始工作咯,师傅让我开始学习Git.刚接触我是懵逼的,"分布式版本控制系统"啥玩意啊这是,大家可不能从字面意思上理解啊,刚开始,版本控制么,我以为是团队合作的时候把开发工具.JDK ...

  3. 如何选择版本控制系统 ---为什么选择Git版本控制系统

    版本控制系统 "代码"作为软件研发的核心产物,在整个开发周期都在递增,不断合入新需求以及解决bug的新patch,这就需要有一款系统,能够存储.追踪文件的修改历史,记录多个版本的开 ...

  4. 分布式版本控制系统之Git

    Git Git 是目前世界上最先进的分布式版本控制系统(没有之一) 作用 源代码管理 为什么要进行源代码管理? 方便多人协同开发 方便版本控制 Git的诞生 作者是 Linux 之父:Linus Be ...

  5. 版本控制系统之git

    一.简介 git是Linux内核项目发起者linus用C语言写的,主要用来做项目的版本控制追踪:git是无中心节点的分布式版本控制系统,也是目前很流行的版本控制系统:其安装简单,使用简单:相比传统的c ...

  6. 分布式版本控制系统Git-----9.Git 使用的小技巧

    1. git push -u orgin master[后面push的时候可简写] 第一次push的时候-u后面加上<本地分支名><远程分支>,第二次push的时候就只需要写g ...

  7. 分布式版本控制系统Git-----5.Git 的push命令总结

    git push git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. git push <远程主机名> <本地分支名>:<远程 ...

  8. 分布式版本控制系统Git-----4.Git 常用命令整理

    1. git init 初始化 git 目录 2. git add 添加文件 git add fileName       #添加指定文件 git add -i             #手工选择要添 ...

  9. 分布式版本控制系统Git-----7.Git 使用git rebase合并多次commit

    将多次commit合并,只保留一次提交历史. PS:在我练习的时候,将一个文件的代码做了多次修改,而且每次修改都给提交了,这几次改动的目的都一样,比如说修改RADEME.md,但是每次改动的只是一个小 ...

随机推荐

  1. C语言中宏定义与C++中的内联函数

    一,宏定义:在预处理的时候把宏定义的内容替换到代码中,正常编译. 1,无参数宏定义和有参数宏定义 (1)宏定义不能加分号,比如:#define  PI 3.24;错的,#define  PI 3.24 ...

  2. Python 各种编码相互转化 (目前只有Unicode utf-8)

    f='\u53eb\u6211' print f print(f.decode('unicode-escape'))

  3. GCD 使用若干注意事项

    这篇文章写的是看完 WWDC 17 - Modernizing GCD Usage 之后的笔记. 一.Parallelism & Concurrency Parallelism 指的是在多个 ...

  4. 43.oracle同义词

    不愿长大,好多人如此,其实这是一种逃避责任没有担当的表象. 同义词 从字面上理解就是别名的意思,和视图的功能类似,就是一张映射关系. 私有同义词:一般是普通用户自己建立的同义词,创建者需要create ...

  5. shell ssh远程执行命令

    [root@backup shell]# vi backup.sh #!/bin/sh ipAddress=172.17.167.38 ssh -tt root@$ipAddress -p 22 &l ...

  6. 半年的iOS代码生活

    半年的iOS代码生活 在高考大军中拼杀过,也在大学校园中荒芜过,曾经低迷消沉,也常满怀壮志…… 但是最多的还是被称为小伙子以及自称为iOS工程师!博主就是这种喜闻乐见的这类人,实习一年后在2015年的 ...

  7. ubuntu下安装ffmpeg

    sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get install ff ...

  8. P1525 关押罪犯 题解

    #include<iostream> #include<cstdio> #include<algorithm> using namespace std; //带边权 ...

  9. Codeforces Round #555 (Div. 3) A B C1(很水的题目)

    A. Reachable Numbers 题意:设f(x)为 x+1 这个数去掉后缀0的数,现在给出n,问经过无数次这种变换后,最多能得到多少个不同的数. 代码 #include<cstdio& ...

  10. Go语言类型转换

    类型转换用于将一种数据类型的变量转换为另外一种类型的变量. Go语言类型转换基本格式如下:表达式 T(v) 将值 v 转换为类型 T . Go语言各种类型转换及函数的高级用法:strconv包实现了基 ...