强大得分布式项目管理工具Git
强大的分布式管理工具-Git(一)
前言:最近忙着写项目,在期间呢,用的是git管理,由于一个项目的管理是很重要得,所以整理了一篇关于git得博客跟大家分享一下.大家都知道,在git出来之前,多用的是SVN的管理工具,SVN它是一款集中式的项目管理工具,挂载的是同一个服务器,它的确是一个安全的项目管理工具,但是由于SVN自身的特性--在线管理工具,这就意味着一旦你离线了,你就拿不到项目的文件了,也不能推送上去,一旦中央服务器出了问题,那么项目就够折腾人的了,这就是比较让人懊恼的地方了,git的异军突起,彻底打破了这个局面,它是一个强大的分布式管理工具,它会首先在本地创建一个仓库,将本地的仓库当作临时的仓库使用,你所有的操作都可以记录在本地仓库中,然后一键推送到远程仓库,即使你不在线,你的项目修改记录也会被保存下来,等待你将来推送上去,git的好处自然还有很多,废话不多说,直接跟大家走一遍git使用的流程.
一:Git的安装
这里以windows系统的安装为例子.git下载链接:https://git-scm.com/downloads;安装完成后在桌面右击鼠标出现Git Bash的选项即说明安装成功.如果你是第一次安装使用git,要先配置用户的信息
git config --global user.name 'Your Name'
git config --global user.email 'email@example.com'
注意这里git config 后面的命令 --global 参数代表着全局,表示你这台机器上所有的仓库都会使用这个配置,当然也可以9对某个仓库指定不同的用户名和Email地址.
二:创建本地版本库到推送
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
所以创建一个版本库是非常简单的,选择一个合适的地方创建一个空目录。你可以直接在这个文件夹里右击鼠标,打开Git Bash,直接进入当前的目录,其他地方打开的Git Bash 需要通过cd命令进入git要管理的目录,
第一步,创建一个本地的仓库(将当前目录变成git可以管理的仓库)
git init
当此命令执行完毕,该目录下会多了一个.git文件夹,不懂得尽量不要去删改该文件夹里面的东西,如果创建成功了却没有看见,可能是该文件被设置为了隐藏文件,将电脑的隐藏文件显示出来即可看到,也可以用 ls- ah 命令。
第二步,把当前文件夹里面的文件添加暂存区
git add .
添加过后,可以通过 git status 查看文件的状态,绿色表示已经添加完成。
第三步,把暂存区的文件添加到本地仓库
git commit -m '所作的操作记录,便于版本管理'
注意:-m 后面的参数值一定要填写,它代表着你每个版本的修改记录,便于后期版本的查看。
第四步:推送到远程仓库
注意:你一定要确保你在远程创建了仓库,并且将本仓库与远程仓库进行了关联!
将本地仓库与远程仓库进行关联
git remote add origin git@gitee.com:sh1908/git-lesson.git
git@gitee.com:sh1908/git-lesson.git 可以在你远程仓库看到,直接复制下来你的远程仓库的链接替换上面的链接即可
这时候就可以推送了:
// 如果你是第一次上传到远程仓库
git push origin -u master // 如果不是第一次
git push origin master
第一次推送的同学,这时候会提示你要去配置密钥,因为我们使用的是ssh,那么接下来就是密钥配置的操作:
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开(Windows下打开Git Bash),一直敲回车即可,创建SSH Key:
ssh-keygen -t rsa -C "email@example.com"
注意观察你生成ssh时的那个地址
第2步:打开.ssh/id_rsa.pub这个文件,复制里面的内容
第3步:打开 码云 的网站,找到设置,选择 SSH公钥,标题自己写,内容即为第2步中复制的内容,需要输入你的码云的密码,这一次以后,本台电脑上传代码到该仓库再也不用输入密码了
// 如果你是第一次上传到远程仓库
git push origin -u master
// 如果不是第一次
git push origin master
这时候去刷新码云(git管理的平台)项目的文件查看,你就开心的发现,你的本地仓库的文件出现在了远程仓库中了
到这,我相信大家都学了了如何用git来创建到上传自己的项目了,那么接下来,走一个相反的过程,将远程仓库文件拿到本地。
三:克隆远程仓库代码(仅此一次)
// 1、配置自己的ssh,参照 前面密钥的配置
// 2、复制远程项目的地址 git@gitee.com:sh1908/git-lesson.git // 3、找到自己的项目的目录,打开git base
// 4、克隆代码 git clone git@gitee.com:sh1908/git-lesson.git
如果说,之前的配置都做过了,那么在这里只需要使用 git clone 命令,后面加上你要克隆的代码的地址即可。那么有的同学就要问了,远程仓库的文件更新,再次去克隆,反复下载不是很麻烦嘛?这就是我标题里面写了 仅此一次 的意思了,当我们从远程仓库下载过一次文件之后,想要跟随远程仓库代码进行同步更新,我们可以使用一个新的命令
git pull origin master
每次当远程仓库代码更新,本地下载过的,只需要 git pull 一下,就可以同步远程仓库的代码到本地了,是不是很方便?
今天这篇博客就写到这,相信只要看完了本文的同学,都已经可以上手用git去管理自己得到项目了,接下来我会在 强大的分布式管理工具-Git(二)中给大家分享一些git拓展的命令操作,例如,如何进行版本回退,如何查看操作日志等。
强大得分布式项目管理工具Git的更多相关文章
- 痞子衡嵌入式:备受开源社区推崇的分布式版本控制工具(Git)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是分布式版本控制工具Git. 1.为什么需要版本控制系统? 单人软件项目开发过程,往往很多功能都是逐步增加的,在代码开发过程中,有的时候功 ...
- 开源分布式版本控制工具 —— Git 之旅
Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的 ...
- 谈谈分布式版本管理工具Git
一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...
- 向西项目管理工具Git一片
前言 Git 这个词相信大家并不陌生,做开发的童鞋们每天都离不开它.当然,假设你的项目中没实用到分布式,那么,你可能从未用过 Git,当然也可能没听过.只是,这不是重点,重点是这一篇文章,我们将一起谈 ...
- 分布式版本控制工具Git
一.Git技术简介 Git是一个分布式版本控制系统,与集中式的SVN不同. 1. 主要特点 集中式特点: 所有人的资源全部保存在中央服务器. 所有人开发前都需要从中央服务器上下载同步其他人的代码才能继 ...
- 分布式版本管理工具 git常用命令
Git global setup git config --global user.name "joey" git config --global user.email " ...
- 项目管理之Git
@[TOC]( Git命令:分支与合并)Git一款很好的项目版本管理工具,更是一款优秀的分布式项目管理工具.今天主要给大家介绍Git 强大的分支和合并功能,分支和合并可以说在实际的工作当中用到的是最多 ...
- 使用TFS+GIT实现分布式项目管理
前言 GIT是近来很流行的一种版本控制系统,是Linux内核之父Linus Torvalds为了管理Linux内核的开发而开发的一种开源的版本控制工具. GIT相比传统的版本控制工具最大的优点是实现了 ...
- [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...
随机推荐
- 自动化专业如何转SLAM或机器学习岗?
由于不方便放链接,更好的阅读体验请查看:自动化专业如何转SLAM或机器学习岗? 本文来自知乎上的同名问题,原文链接: https://www.zhihu.com/question/266685012/ ...
- eclipse中SpringBoot的maven项目出现无法解析父类的解决办法
在eclipse中建立SpringBoot的maven项目时,继承父类,添加如下代码: <parent> <groupId>org.springframework.boot&l ...
- 从“HDU 2005 第几天?”谈起
在程序设计中,日期时间的处理经常会遇到.在C语言程序设计的一些教材中会出现如下例子或习题. [例1]第几天? (HDU 2005) 给定一个日期,输出这个日期是该年的第几天. Input输入数据有多组 ...
- 漏洞复现:MS17-010缓冲区溢出漏洞(永恒之蓝)
MS17-010缓冲区溢出漏洞复现 攻击机:Kali Linux 靶机:Windows7和2008 1.打开攻击机Kali Linux,msf更新到最新版本(现有版本5.x),更新命令:apt-get ...
- 自荐RedisViewer一个有情怀的跨平台Redis可视化客户端工具
自荐一个有情怀的跨平台Redis可视化客户端工具--RedisViewer 转载自 最美分享Coder 2019-09-17 06:31:00 介绍 在以往的文章中曾经介绍过几款Redis的可视化工具 ...
- Java第三次作业第四题
4. [问题描述]读取一个文本文件in.txt,然后将这个文件的内容,反序写到另一个文件out.txt中. [输入形式]从文件in.txt中读信息. [输出形式]反序内容写入out.txt文件中. [ ...
- 如何使用rsync备份
已知3台服务器主机名分别为web01.backup .nfs主机信息见下表: 角色 外网IP(NAT) 内网IP(LAN) 主机名 WEB eth0:10.0.0.7 eth1:172.16.1.7 ...
- 39 (OC) 瀑布流、不规则UI
39 (OC) 瀑布流.不规则UI
- Django-官网查询部分翻译(1.11版本文档)-QuerySet-字段查找-06
目录 Making queries 进行查询 创建一个对象(一条数据记录) 保存修改的表对象 保存外键字段或多对多字段(ForeignKey or ManyToManyField fields) Re ...
- String的优化 Stringbuffer和Stringbuilder
string 上次说到string是最好衍生出来的一种字符类型,实现原理是由char[].我们知道数组一旦创建时不可更改的,所以每一次进行字符串的拼接都是在new一个新的字符串进行添加,这样的话对内存 ...