GIt三剑客

1、 Github

什么是Github?

github是一个基于git的代码托管平台,付费用户能够建私人仓库,咱们通常的免费用户只能使用公共仓库,也就是代码要公开。git

Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。github

  1. 博客园关联github,右上角哦!

2. Github仓库管理使用

2.1repository

在右上角,单击“new repository”web

 

Branch

分支和快照是相似的概念,快照指的是在某一时间点的数据状态集合,至关于一种特殊的镜像文件。默认状况下,您的存储库有一个名为master的分支,它被认为是肯定的分支。若是有人在你的分支机构工做时对主分支进行了更改,那么你能够把它拉取那些更新。服务器

 

如何建立详情git板块分布式

Star

Star folk意义:能够体现出社区活跃度,不管是issues 仍是邮件列表、论坛,若是提问的人少之又少,即便 watch、star、fork 再多也不要用,由于这几个数据是结果,不是过程,制造结果比制造过程容易得多,小编也想哈好多的star。工具

 

 

3. Github Desktop

Github的官方git软件,其实如今不少IDE都自带这种版本控制软件,经过该GUI后版本控制软件上手就很简单了不少,gitlab

好比,当克隆到本地的repository增删查改里面里面的任何内容,Github Desktop会实时自动同步,而且能够经过左下角的Commit to master上传到git云端,并经过上面Fetch origin和master选择分支并上传,改图为小编最近恰好在左爬虫小任务。 学习

 

2、 Gitlab项目管理

GitLab 是一个用于仓库管理系统的开源项目,使用Git做为代码管理工具,并在此基础上搭建起来的web服务。fetch

我的以为github方便我的使用,而gitlab更适合做为团队编辑和团队开发项目仓库。url

1.Gitlab项目管理

 

基本使用流程跟github差很少

只是若是共同开发项目时,能够看到各成员的进度,还有一个亮点就是能够看到源代码的修改程度,以及项目成员的动态信息。

 

github能够与gitlab项目一键共享仓库,期待后面会出现能够实时同步两个仓库的神器^^

3、Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与经常使用的版本控制工具 CVS, Subversion 等不一样,它采用了分布式版本库的方式,没必要服务器端软件支持。

本人以为若是用好git,对于分布式的概念会更加清晰哦,本人也是经过分布式爬虫了解到分布式的强大。

写git文档简直就是大海捞针,下面仅经过建立分支进行介绍

 

首先我建立修复bug的分支hot_fix,git branch -v 查看下分支

 

git checkout hot_fix来切换分支

 

git branch -v 查看下分支,如今就切换到hot_fix分支了

 

在hot_fix分支,输入ll,在查看下以前的内容

 

其实hot_fix复制了一份master分支的内容

其他git简单教程:

 git init:在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下建立一个.git文件夹。

        git clone:获取一个url对应的远程Git repo, 建立一个local copy。 通常的格式是git clone [url]。

        git add:在提交以前,Git有一个暂存区(staging area),能够放入新添加的文件或者加入新的改动.。commit时提交的改动是上一次加入到staging area中的改动,而不是咱们disk上的改动。

        git commit:提交已经被add进来的改动。

        git pull:fetch from a remote repo and try to merge into the current branch。pull == fetch + merge FETCH_HEAD。git pull会首先执行git fetch,而后执行git merge,把取来的分支的head merge到当前分支。这个merge操做会产生一个新的commit。若是使用--rebase参数,它会执行git rebase来取代原来的git merge。

        git push:push your new branches and data to a remote repository。git push [alias] [branch]。将会把当前分支merge到alias上的[branch]分支.若是分支已经存在,将会更新,若是不存在,将会添加这个分支。若是有多我的向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server上的branch如今的tip,若是本地历史中不能看到server的tip,说明本地的代码不是最新的,Git会拒绝你的push,让你先fetch,merge,以后再push,这样就保证了全部人的改动都会被考虑进来。

总结:

用了三剑客也有很长时间,还有不少该方面知识写不完,经过三剑客能够对本身以前所开发的项目进行管理,特别是在项目分享环节,咱们能够查看到他人的代码,并进行本身意见的改正修正以及对于对方知识点的学习和吸取,git不只帮助项目成员提供了合做效率,也是一种使咱们可以快速学习,促进学习的一个平台方式。

相关文章
相关标签/搜索