一、什么是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. Linux 调节分辨率

    首先,你要有 GUI 才能设置分辨率 Tool of xrandr xrandr -s 1360x768

  2. Error creating bean with name 'dateSource' defined in file 错误信息

    问题的原因: 在web项目中搭建SSM框架,启动Tomcat时出现错误信息 有配置文件:applicationContext-mybatis.xml (Spring配置) spring-servlet ...

  3. Java网络编程客户端和服务器通信

    在java网络编程中,客户端和服务器的通信例子: 先来服务器监听的代码 package com.server; import java.io.IOException; import java.io.O ...

  4. 数学【洛谷P4071】 [SDOI2016]排列计数

    P4071 [SDOI2016]排列计数 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列 ...

  5. js Array属性和用法

    //构造函数创建数组 var arr1=new Array(); //字面量的方式 var arr2=[]; 1.Array.isArray(对象)---->判断这个对象是不是数组 //判断对象 ...

  6. adminlte+layui框架搭建2 - 动态菜单

    动态菜单 参考文章:https://cloud.tencent.com/developer/article/1342558 主要修改两个地方: 1.系统初始化加载一级菜单,在adminlte.js文件 ...

  7. springboot配置文件的所有属性

    转载:https://blog.csdn.net/qq_28929589/article/details/79439795 # spring boot application.properties配置 ...

  8. 12.谈谈this对象的理解

    1.谈谈this对象的理解? 2.this指向问题   Javascript理解this对象 this是函数运行时自动生成的一个内部对象,只能在函数内部使用,但总指向调用它的对象. 通过以下几个例子加 ...

  9. linux下的小命令

    (1) 查看服务器的IP信息 ip add show ifconfig (2) 操作网卡命令(重启网络和启用网卡) cleasystemctl restart network systemctl st ...

  10. C++_异常4-将对象用作异常类型

    通常,引发异常的函数将传递一个对象.这样做的重要优点之一就是,可以利用不同的异常类型来区分不同的函数在不同的情况下引发的异常. 对象可以携带信息,程序员可以根据这些信息来确定异常的原因. 同时,cat ...