版本控制工具GIT
来源:互联网 发布:英雄联盟mac可以玩吗 编辑:程序博客网 时间:2024/05/16 18:35
GIT简介
GIT是一款免费的、开源的分布式版本控制系统。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆在本地机器上拷贝一个完整的仓库
CVS和SVN是集中式的版本控制系统,我们今天要介绍的git是i分布式的
集中式的与分布式的区别在哪里,举个例子:
集中式的控制系统不明思意肯定要把所有的东西都集中到一块,我们为了理解取名叫中央服务器,比如说我们要做项目,所有的代码都要放到这个中央服务器上面
假设有A B C三个程序员,他们都是从我们的中央服务器上拿代码,比如A拿到1.c 2.c 3.c B也是拿到这些代码,C也是
拿到之后可能A要拿到2.c去修改,A修改完之后,要做一件事情,把这个修改通过网络提交。所有的控制都不是在本地,是在那个服务器上面
这个时候有产生了一个问题,A程序员要出差一个月,到一个没有网的地方,这一个是没有办法连接到服务器上面的,显然我们这个版本管理就没法做了。所以这里就存在很大的问题,离开了中央服务器,离开了网络,离开了本地就没有办法进行版本管理了。但是我们分布式版本管理系统,还是有一个中央管理库,还是有两个程序员,A和B。A会把中央管理库里面的东西全部克隆出来,克隆到了本地,修改完1.c之后也要提交,他提交是提交到本地,基本的管理工作都可以在本地在自己的电脑上完成,比如说我出差了,然后我通用可以进行版本管理,管理完之后回来之后然后与我们的中央管理库进行同步
然后怎么安装配置我们的GIT
sudo apt-get install git
还要安装其他的包
sudo apt-get install git-doc git-email git-gui gitk
安装完成之后我们做一个配置,我们创建一个用户
git config --global user.name "five"
还有邮箱
git config --global user.email "188123964@qq.com"
创建完之后我们git的安装与配置就完成了
我们来了解git常见操作
1.创建本地仓库
2.添加文件
3.版本回退
4.删除文件
5.建立远程仓库
6.提交到远程仓库
7.克隆远程仓库
首先我们建立本地仓库,先创建一个文件夹:mkdir githome
然后进入这个目录,然后进入这个目录里面去,这里就作为我本地仓库,就是存放本地代码的位置
首先在那个目录下用git init
你会发现在我们这个目录下多了一个隐藏目录.git这里面有很多版本控制的信息。这个目录里面的任何东西我们都不能去改它,更不要说去删除它了
假设我们要在这里添加一个文件,比如添加readme.txt,先touch 创建这个文件
然后 git add readme.txt
git commit -m "add readme" 提交 -m是说明 后面接的是你的注释
这样一个文件就加好了
加好了之后我们可以看看它的状态
git staus
状态是在当前的情况下,没有修改可以去提交
假设我们readme.txt已经管理起来了,我们现在要修改readme.txt
随便往里面写一点东西
然后我们再git status
这个时候就有变化了
他告诉我 管理的文件发生了改变,我管理的readme.txt
这里说我们对readme.txt进行了修改但是没有提交
如果你还想看一看,这个文件和版本库的文件有什么区别
可以用 git diff readme.txt来看看
这里就可以看出来
---a是我们版本库里面的,+++b是我们我们现在目录下面的
然后那个墨绿色的那个+1是代表第一行
最后+123456意思是在第一行多了信息123456
就是我一开始加进去的
现在是修改了,但是修改之后我们要提交到版本库里面去
怎么提交呢
还是使用之前的
git add readme.txt
git commit -m "change readme"
提交之后我们再用 git status
说明我们对readme的修改已经成功了并且提交了
如果你想看一看做了哪些修改
可以用git log来看一看
可以看到我们这里进行了2次修改,从下网上看
第一次修改是去添加了文件 readme
第二次是改变了readme 这里其实就是我们的注释
如果我们在项目管理中,不想要现在这个版本了,想回退到某一个版本怎么办
比如上面那张图的,我想回退到没有对readme做任何修改的时候怎么办
git reset --hard HEAD 从head开始回退几个版本,我们现在是在第二个版本,只需要回退一次就可以到我们没有对readme进行修改的版本了
回退一次的命令是git reset --hard HEAD^
看输出信息就知道我们回退了
下面我们要开始建立与服务器的连接了
首先在我们远程服务器上建立版本库,首先我们要登录github.com
我们先注册
然后登录后创建我们的版本库
名字随便取,后面选遵循GNU协议
创建好之后我们会发现在我们库里面没有任何文件
除了一个叫LICENSE的文本文件 这个文件是创建库的时候自带的
创建完之后要把它和我们本地库关联起来
先在开源项目的工作目录中执行如下命令确认你的身份:
git config --global user.email “读者注册 GitHub 使用的邮箱”
git config --global user.name “读者注册 GitHub 使用的用户名”
然后使用如下命令生成 SSH Key:
ssh-keygen -t rsa -C "读者注册 GitHub 使用的邮箱"
用SSH key是因为我们本地和网络上的库通信的方式是用的SSH
因此要创建一个Key
创建好了之后
你可以在用户名的目录下有个隐藏的ssh的目录
我们把id_rsa.pub打开
打开之后把所有的信息全部复制出来
要把这些信息填到我们版本库里面去
点网站上面最上面那个按钮
找到我们SSH keys
然后NEW SSH KEY
title随便取 把SSH key复制到相应的位置
然后添加进去
我们做一个验证看看能不能连接得上去 输入命令
ssh -T git@github.com
后面选择yes
如果成功的话就会有这么一行信息
You've successfully authenticated, but GitHub does not provide shell access.
然后我们要获取在服务器上版本库的地址
在这个绿色的地方 默认是https的
但是我们是用的ssh来通信,所以选择后面那个地址
然后我们把它复制进来,这个就是我们版本库的地址了
现在我们要让我们本地库与版本库关联起来,通过下面这行命令
git remote add 名字(取个名字可以随便取 ) 地址( 我们拷贝的地址)
这条命令要在我们设置的那个git目录下才可以 比如我们前面设置的githome目录下
关联起来后首先我们要把版本库里面的东西全部down下来 同步起来
采用下面命令 git pull --rebase 库的名字(我们之前取的) master(表示主分支的意思)
同步完成之后你就可以看到在我们目录下面多了一个LICENSE的文件
LICENSE的文件就是在我们远程库里面的
但是远程库里面是没有你本地的文件的
我们现在就要上传
把文件下下来用的是pull
传上去用的是push
使用命令
git push -u 名字 master
然后对我们远程库那个页面刷新,你就可以看到你的readme上传到了服务器上了
假设你们公司来了一个新的程序员,要把里面的东西全部克隆下来怎么办
直接使用克隆命令就可以了
git clone 加你的远程服务器的地址就行了
- 版本控制工具git
- git版本控制工具
- GIT - 版本控制工具
- Git 版本控制工具
- 版本控制工具--Git
- Git-版本控制工具
- Git,版本控制工具
- 版本控制工具git
- 版本控制工具GIT
- git版本控制工具
- 版本控制工具git使用指南
- 安装 Git 版本控制工具
- 学习版本控制工具Git
- 版本控制工具 GIT入门教程
- 分布式版本控制工具Git
- 版本控制工具SourceThree(GIT)
- git版本控制工具 使用方法
- Git版本控制工具进阶
- 基于图像内插值和外插值的亮度/对比度调整及模糊/锐化方法
- UVA1594DucciSequence
- kafka与Spring的集成
- 概率论与数理统计---分布函数
- Shell脚本学习-位置参数和特殊变量
- 版本控制工具GIT
- Android Studio 进行单元测试完整教程
- asp.net的页面状态保存与恢复
- USACO2005 Mar. 干草危机
- 一只小菜鸡java的循环结构
- Kubernetes系统架构简介
- Springmvc注解配置(六)
- oracle角色权限
- 13.抽象类、抽象字段、抽象方法