一、什么是github?

GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。

GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。
 
二、什么是git?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
 
三、git的使用及特点
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
下图是经典的git开发过程。
Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
 
四、如何使用git管理github及常用命令
  1.登录github网站https://github.com/注册账号(账号,邮箱,密码)
  2.下载git进行安装https://git-scm.com/
  3.在本地仓库目录右击鼠标选择菜单Git Bash here打开git的命令窗口

  4.在命令窗口输入命令git config --list查看配置,设置账号和邮箱:

git config --global user.name "用户名";

git config --global user.email "邮箱"

  5.使用git init命令创建本地仓库(在当前文件夹使用可设置当前文件夹为本地仓库),隐藏文件夹.git

  6.创建ssh-key连接远程仓库。

$ cd ~/.ssh检查是否存在key,$ ssh-keygen -t rsa -C "邮箱"生成ssh-key文件。

  7.在github.com设置ssh-key。

  8.使用git连接github.com($ ssh -T git@github.com)

五、git常用命令

git config --global user.name

git config--list

ls //本目录所有东西

cd Desktop //进入桌面

mkdir//创建文件夹 new_git

git init //创建本地仓库

git add -A//放入暂存区

git add a.txt //放入暂存区

git commit -m"first commit"//放入仓库区 “”中写说明

git status//查看暂存区变动

git log//查看提交记录

git push //提交

git clone //克隆,下载

git diff //添加忘记后查询

git log --pretty=online //查看简约版的提交记录

git reset --hard HEAD ^^ //回退一个版本

git reset --hard ()版本号

git reflog //获取版本号

git branch //查看分支

git checkout aaaa //切换分支

git git branch aaa //创建分支

git add -A

git commit -m"aaa"

git merge aaa//合并分支

git branch

git branch -d aaa

git remote -v//查看源

git remote add upstream 原作者地址 //添加原作者链接

git fetch upstream //

git merge upstream/master // 合并

id_sra。pub//要是

附件:

GIT的使用方法

1.电脑首先安装GIT,

2.在官网注册GitHub账号。

一,使用git在控制台进行本地操作

1.打开GitBash

2.填写用户名和邮箱作为标识分别执行以下命令:

git/ config /--global /user.name /"用户名";

git /config /--global /user.email /"邮箱名";(注意"/"在这里代表空格,输入完指令回车)

3.$/git/config/--list(输入命令行)

会显示输入的用户名和邮箱

4.用cd文件路径找到别设为仓库的文件夹

$/cd/某盘例D:/git/gitproject(前2个/空格)

5.然后输入git init将文件设置成仓库

$/git/init

此时在gitproject文件中多了一个隐藏文件夹.git

6.在仓库中放入一个HTML文件,用模拟造作然后在控制台输入git status查看在工作区是否有为转到本地仓库的文件

$/git/status (注意:默认为master分支,此时test.html为红色字体)

当看到test.html为红色字体时,证明文件做过修改,但是还没有保存到暂存区。我们输入git add test.html 然后在输入git status查看,发现test.html变为绿色时,证明文件已经保存到暂存区。

$/git/add/test.html

$/git/status

注意:使用  git add 文件名       命令将文件保存到暂存区。然后输入 git commit -m "备注信息"命令将该文件提交到本地仓库。

$/git/commit/-m/"first"

$/git/status   (没有提交,工作树为空。)

此时文件夹中仍有文件。只是本次工作树的操作提交给本地仓库。次工作树的内容跟本地仓库存储的内容一致。而不是将文件夹中的文件删除。

7.向本地仓库保存文件的步骤为:

git add 文件名————>  git  commmit -m "备注信息"

8.输入$/git/log查看提交历史版本回退命令为:

$/git/reset/--hard/89af

9.文件的找回与删除

$/git checkout/--/"文件名"

$/git/status

删除:

$/git/rm/"文件名"

删除后用$/git/commmit/-m/"remove/文件名"备注起来。

二,与远程仓库链接

登录GitHub账号

1.配置GitHub密码钥匙

打开GitHub输入$/cd/-/空格.ssh查看是否存在密匙

2.如果没有密匙,则输入$/ssh-keygen/-t/rsa/-c/"邮箱地址"  创建密匙   有的话直接回车

3.找到文件,打开PUb文件复制里面的内容。打开GitHub网站,点击右上角绿色小块的Settings进去

4.点击SSH and GPG keys ,然后点击New SSH key,进入以后找到Title框为空,将密匙复制Key文本框中,最后点击Add SSH key,显示密匙关联成功。

5.输入  $/ssh/T/git@github.com   点击GIt网站中右上角的加号,创建网络仓库,再选Newrepository,然后输入仓库名 $/git/remote/add/origin/git@github.com:AlexanderLeading反斜杠Study.git

6.$/git/push/-u/origin/master   进入远程仓库看一下结果  点击You profile  在Study中多了文件最终上传成功。

三, 创建分支

分支:就是没有完成的作品,分多次完成,最后合并到原来分支上。

1.输入$/git/checkout/-b/dev  创建一个dev开支

$/git/branch查看现有分支

2.输入 $/git/checkout/master  切回分支查看文件内容

3.如果项目完成可以输入  $/git/branch/-d/dev

$/git/branch  删除成功,只剩master分支。

码农的好助手:版本管理工具git的使用的更多相关文章

  1. 版本管理工具Git(1)带你认识git

    简介 本篇将带领大家认识,git.github,让大家对git有基本的认识:下面将持续更新几篇文章来介绍git,见git导航: 下一篇中将讲解git的安装及使用: Git系列导航 版本管理工具Git( ...

  2. linux系统下使用流行的版本管理工具 Git

    前几天被版本管理困扰了好久,主要是因为 没法回到之前的版本,新版本又出了问题真的很尴尬. 终于决定使用目前网上很火的版本管理工具-------Git 历史啥的就不说了,说些有用的. 我用的是oschi ...

  3. 版本管理工具Git(2)git的安装及使用

    下载安装git 官方下载地址:https://git-scm.com/download/win 这里以windows为例,选择正确的版本: 验证是否安装成功,右键菜单中会出现如下菜单: Git工作流程 ...

  4. 版本管理工具Git(一)简要介绍

    版本管理工具不但可以备份而且还能记录版本,也就是同一个东西不同时期的状态同时可以跟踪追溯.版本管理工具由CVS.SVN.Git.GitHub. 最早的版本管理工具CVS,因为多人开发项目导致工作很难协 ...

  5. 版本管理工具Git(2)git的使用

    上一篇带大家认识了Git,在本篇中将讲解Git的安装及使用: Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用 ...

  6. 版本管理工具Git(3)VS2013下如何使用git

    Git系列导航 版本管理工具Git(1)带你认识git 版本管理工具Git(2)git的安装及使用 版本管理工具Git(3)VS下如何使用git VS下创建项目 vs中新建项目MyGitTest201 ...

  7. 版本管理工具git与svn简介

    版本管理工具 版本管理工具简介 常见版本管理工具 cvs(Concurrent Versions System) vss(Visual SourceSafe) svn 常用的版本管理工具 git 流行 ...

  8. Studio之版本管理工具Git (图文教程)

    目前业界主流的版本管理工具主要是 svn/git.svn是1种集中式的代码管理工具,而git是1种散布式的代码管理工具,广受极客的爱好.而基于git的github更是全宇宙码农的提高逼格,深究技术的必 ...

  9. 谈谈分布式版本管理工具Git

    一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...

随机推荐

  1. python 中文件夹的操作

    文件有两个管家属性:路径和文件名. 路径指明了文件在磁盘的位置,文件名原点的后面部分称为扩展名(后缀),它指明了文件的类型. 一:文件夹操作 Python中os 模块可以处理文件夹 1,当前工作目录 ...

  2. Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  3. CSS中#和.的区别

    id:用来定义页面中大的样式,如栏目划分,顶部,正文,底部等:用#top的形式来定义: class:用来定义一些比较细节的样式,如具体的一个菜单,一行文字等,用.text的形式来定义. 定义HTML中 ...

  4. nodejs post 数据到php $_POST["content"]接收不到的问题

    今天写了一段代码,要用到ajax调用php的接口,因为是https的,所以ajax不能跨域,于是使用nodejs调用接口,但是传输数据后 $_POST["content"]接收不到 ...

  5. 怎样将结构完全一样的两个表的内容合并到一个表中,SQL语句

      标签: SQL合并数据 2013-08-21 10:41 489人阅读 评论(0) 收藏 举报  分类: Oracle数据库(14)  select * into 新表名 from (select ...

  6. 基础问题:设置radio、select、checkbox 的readonly 属性

    编辑记录的时候,有时候需要禁止用户修改某些项目,常用的方法有以下两种: 1>设置表单的readonly属性问题:但是readonly属性对radio.select.checkbox这三个表单不起 ...

  7. JAVA数据结构--冒泡排序

    冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行 ...

  8. 洛谷 P4280 bzoj1786 [AHOI2008]逆序对(dp)

    题面 luogu bzoj 题目大意: 给你一个长度为\(n\)的序列,元素都在\(1-k\)之间,有些是\(-1\),让你把\(-1\)也变成\(1-k\)之间的数,使得逆序对最多,求逆序对最少是多 ...

  9. Randy Pausch’s Last Lecture

          he University of Virginia American Studies Program 2002-2003.                     Randy Pausch ...

  10. HTML5实现多文件的上传示例代码

    [转自] http://www.jb51.net/html5/136791.html 主要用到的是<input>的multiple属性 代码如下: <input type=" ...