一、 Github

什么是Github?

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

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

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

2. Github仓库管理使用

2.1repository

在右上角,单击“new repository”

Branch

分支和快照是类似的概念,快照指的是在某一时间点的数据状态集合,相当于一种特殊的镜像文件。默认情况下,您的存储库有一个名为master的分支,它被认为是确定的分支。如果有人在你的分支机构工作时对主分支进行了更改,那么你可以把它拉取那些更新。

如何创建详情git板块

Star

Star folk意义:可以体现出社区活跃度,无论是issues 还是邮件列表、论坛,如果提问的人少之又少,即使 watch、star、fork 再多也不要用,因为这几个数据是结果,不是过程,制造结果比制造过程容易得多,小编也想哈好多的star。

3. Github Desktop

Github的官方git软件,其实现在很多IDE都自带这种版本控制软件,通过该GUI后版本控制软件上手就很简单了很多,

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

二、 Gitlab项目管理

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

个人觉得github方便个人使用,而gitlab更适合作为团队编辑和团队开发项目仓库。

1.Gitlab项目管理

基本使用流程跟github差不多

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

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

三、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不仅帮助项目成员提供了合作效率,也是一种使我们能够快速学习,促进学习的一个平台方式。

GIt三剑客的更多相关文章

  1. git三剑客笔记

    看了git三剑客视频总结的笔记,只给自己参考. 常用命令 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name ...

  2. 玩转@Git三剑客

    扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  3. git - 1.基础

    配置 C:\Users\Administrator λ git config --global user.name 'tangsansan' C:\Users\Administrator λ git ...

  4. Git——Git的简单介绍【一】

    官方网站 Git官网 https://git-scm.com/ GitHub https://github.com GitLab https://about.gitlab.com/ SVN https ...

  5. Git学习(一):版本控制介绍及安装

    一.VCS(版本控制系统)的演变 1.集中式VCS的特点 1)有集中的版本管理服务器: 2)具备文件版本管理和分支管理能力: 3)集成效率较没有版本控制(如:进行文件夹标注的方式)有明显地的提高: 4 ...

  6. Git学习(二):Git的初步使用

    一.Git的最小配置 1.使用如下命令创建Git的用户名和邮箱,如下所示: $git config --global user.name 'your_name' $git config --globa ...

  7. "做中学"之“极客时间”课程学习指导

    目录 "做中学"之"极客时间"课程学习指导 所有课程都可以选的课程 Java程序设计 移动平台开发 网络攻防实践 信息安全系统设计基础 信息安全专业导论 极客时 ...

  8. 学会了这些技术,你离BAT大厂不远了

    每一个程序员都有一个梦想,梦想着能够进入阿里.腾讯.字节跳动.百度等一线互联网公司,由于身边的环境等原因,不知道 BAT 等一线互联网公司使用哪些技术?或者该如何去学习这些技术?或者我该去哪些获取这些 ...

  9. Mabatis三剑客分别是:mybatis-generator、mybatis-plugin、mybatis-pagehelper

    本文用的是maven,idea15 Mabatis三剑客分别是:mybatis-generator.mybatis-plugin.mybatis-pagehelper 一.mybatis-genera ...

随机推荐

  1. 运行OpenGL红宝书第9版源码时Visual Studio提示“无法启动程序...ALL_BUILD。拒绝访问“的问题的解决办法

    问题描述: OpenGL红宝书第9版源码采用CMake编译后,用相应的Visual Studio(如VS2012)打开“vermilion9.sln”解决方案,并运行时Visual Studio提示“ ...

  2. Redis和MongoDB的区别以及应用场景

    Redis和MongoDB的区别以及应用场景 项目中用的是MongoDB,但是为什么用其实当时选型的时候也没有太多考虑,只是认为数据量比较大,所以采用MongoDB. 最近又想起为什么用MongoDB ...

  3. activiti 术语 国际化文件

    activiti-explorer editor-app 国际化文件 - 大强的博客 - CSDN博客https://blog.csdn.net/daqiang012/article/details/ ...

  4. preg_quote

    $p = 'http://'; $p = '/'.preg_quote($p, '/').'/'; echo $p; /http\:\/\//

  5. 【Shell常用命令一】echo bash alias history 输出重定向 快捷键

    echo输出命令 echo [选项] [输出内容] -e : 支持反斜线控制的字符转换 赋予执行权限 直接运行 chmond 755 hello.sh ./hello.sh 通过bash调用执行脚本 ...

  6. mysql查询之部门工资最高的员工

    最近发现一个网站 力扣 查看 上面有很多算法和数据库的题目,做了一下,发现自己平时都疏忽了,因此边做边记录下来 Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 de ...

  7. 五、Snapman多人协作电子表格之——Python脚本

    Snapman多人协作电子表格是一个即时工作系统. Snapman中嵌入了Python脚本进行数据处理. 一.Snapman集合python语言介绍 将单元格设置为python脚本的方法:用Snapm ...

  8. [06]Go设计模式:适配器模式(Adapter Pattern)

    目录 适配器模式 一.简介 二.代码 三.参考资料 适配器模式 一.简介 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独 ...

  9. linux 软连接 ln -s

    <pre>linux 软连接 ln -sln -s /home/ /home/ss/</pre> 按照win的说法就是创建快捷方式在/home/ss/ 文件夹里(名字就是hom ...

  10. Kubernetes集群安装(自己搭过,已搭好)

    k8s安装目录 1. 组件版本 && 集群环境 组件版本 etcd 集群 && k8s master 机器 && k8s node 机器 集群环境变量 ...