热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第211天:git和github的区别和使用详解

一、git1、什么是git它是一个源代码管理工具,在一个项目中,凡是由开发人员编写的都算是源代码,源代码有必要管理起来,让源代码可以被追溯,主要记录每次变更了什么,谁主导这次变化。人为的维护比

一、git

1、什么是git

它是一个源代码管理工具,在一个项目中,凡是由开发人员编写的都算是源代码,源代码有必要管理起来,让源代码可以被追溯,主要记录每次变更了什么,谁主导这次变化。人为的维护比较麻烦,GIT是Linux之父当年为了维护管理Linux的源代码写的一个工具

Git 之前 很多使用 svn vss tfs hs ......

官网 https://guides.github.com/

2、安装GIT

Windows上安装Git

下载地址:https://git-for-windows.github.io/

     https://git-scm.com/download/

然后按默认选项安装即可。

3、git使用方法

1)cd 当前项目目录

2)git init   // 初始化一个本地的仓库

就是在本地文件夹中添加了一个.git的文件夹用于记录所有的项目变更信息

3)git status  //查看本地仓储的变更状态

用于查看本地仓储的状态

第一次查看,显示的是一堆没有被跟踪的文件

git status -s    // -s 是输出简要的变更日志

 

4)`git add --all`  / `git add .`   //添加本地暂存(托管)文件

所有添加跟踪

类似于node_modules这种性质的文件是不应该被跟踪

 

5)添加本地GIT忽略清单文件 

在代码库文件夹的根目录添加一个.gitignore文件

此文件用于说明忽略的文件有哪些

 

6)提交被托管的文件变化到本地仓储

git commit -m '需要说明的信息如:第一次提交'

将本地的变化提交的本地的仓库文件夹归档

一般在有了一个小单元的整体变化后再提交 

7)对比差异

git diff

可以用于对比当前状态和版本库中状态的变化

8)提交日志

git log   //可以查看提交日志

 

9)回归到指定版本

git reset --hard  哈希值的前六位

 

(10)为仓储添加远端(服务器端)地址

// 添加一个远端地址并起了一个别名叫origin

$ git remote add origin https://github.com/lele/Git.git

$ git remote -v  // 查看现有的远端列表

 

(11)将本地仓储的提交记录推送到远端的master分支

$ git push -u origin master

 

12)拉取远端master分支的更新记录到本地

$ git pull origin master

 

4、错误问题解决

安装完成后,在开始菜单里找到Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

安装完成后,还需要最后一步设置,在命令行输入:

 

>$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

 

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

 

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

5、生成一个新的SSH密钥

打开 Git Bash,输入如下命令,然后连续按三个回车即可,

 

>ssh-keygen -t rsa -C "your_email@example.com"

 

SSH公钥添加到GitHub账户,复制SSH公钥的完整内容(/C/Users/Administrator/.ssh/id_rsa.pub)进入GitHub添加进去。

 

测试连接

打开 Git Bash 输入:

>ssh -T git@github.com

在项目目录下(第一次提交代码)

>git init git add --all

git commit -m "第一次提交"

git remote add origin [https://github.com/jilanlan/node-demo.git](https://github.com/git-demo.git)

git push -u origin master

 6、错误解决

(1)如果执行git remote add origin [https://github.com/Flowerowl/stumansys.git,](https://github.com/Flowerowl/stumansys.git%EF%BC%8C)

出现错误:fatal: remote origin already exists

则执行以下语句:git remote rm origin 再往后执行git remote add origin [https://github.com/Flowerowl/stumansys.git](https://github.com/Flowerowl/stumansys.git) 即可。

 

(2)在执行git push origin master时,

报错:error:failed to push som refs to.......

则执行以下语句:git pull origin master 先把远程服务器github上面的文件拉先来,再push 上去。

 

提交完代码后,我们可以在线编辑README文件,然后我们拉取到本地,

>git pull origin master

拉取完后本地就和线上内容同步了。

 

二、github

github不是一个工具,是一个GIT服务提供商

Github是最流行的代码库,里面存储着丰富的优秀的开源代码。不仅如此,作为一款免费的代码存储利器也是流的一逼,支持各种编程语言,代码显示效果堪称完美,可以随时随地查看自己记录的笔记。。。。

好处是太多太多了,我已经把它当成了办公必备。只是当初刚刚接触时确实也是有点犯难,主要是因为全英文的官网,还使用很多计算机术语。对于一个新手真真是不知如何下手。好吧,下面我会一步一步教你如何开启属于自己的代码库。

第一步,注册。

请记住github官网,https://github.com,进入页面后。如下图,sign in是登录,sign up是注册。注册信息只需要三项,用户名,邮箱,密码。用户名请使用英文,并且要好记,因为以后你的代码库都是以它命名的;邮箱必须要真实,最好常用,一方面是需要验证,另一方面如果使用命令更新和提交代码时会用到。填写完成后,点击绿色按钮,sign up for github提交注册信息。

 

第二步,选择帐号类型。

如下图所示,需要选择开通哪种类型的帐户。第一种免费且公开,所有人都可以看到你的代码库;第二种付费并隐私,每月7美元。再往下的勾选框指帮助开通组织协同办公,可以直接忽略。然后点击绿色按钮continue继续。

 

 

第三步,完成问卷。

Github为了分析用户设置了几道问卷题,可以如实回答也可以随便填写。第一道题单选问你的经验如何,A:经验丰富 B:还凑和 C:完全新手 ;第二道题多选问你想用github做什么用,A:学校项目 B:开发 C:设计 D:研究 E:项目管理 F:其它;第三道题单选问你怎么描述自己 A:我是专业人员 B:我是业余爱好者 C:我是学生 D:其它 .第四道简答题,说一下你的兴趣。答完后点击绿色按钮,submit提交问卷。

 

 

第四步,验证邮箱。

如下图显示已经注册完成,点击Read the guide阅读文档。都是英文反正看不懂。点击start a project,开始项目。

紧接着会出现下面这张图,意思是需要验证邮箱。请移步到第一步填写的邮箱,进行验证。

 

 

 

进入邮箱找到github发送的验证邮件,打开后如下图所示,点击框中所示任意一个链接即可验证并跳回到注册完成后的页面。再重新点击start a project,开启第一个版本库。

 

 

第五步,建库。

如下图,第一个框中填写你的项目名称。第二个框中填写项目描述也可留空,其它都可忽略。点击绿色按钮creat repository,创建项目。

创建完成之后,就可以使用上面所说的git命令进行项目托管了。

三、github托管页面

我们通常写的网页,想要让其他人看见,必须要有域名和服务器才能呈现在网上,被其他人访问。然而,github给我们提供了一个服务器,这样我们就不用自己买服务器和 域名了。具体怎么将自己的网页托管到github上,请继续往下看。

1、首先登录自己的github账号,新建一个存储库(New repository),填写存储库的名称和描述,名称可以是项目的名称

 

2、使用git命令进行操作

(1)cd      // 打开项目文件夹

(2)git init    //在项目文件夹下创建.git文件夹

(3)git status    //查看文件状态

(4)git add --all    //添加所有文件使其被跟踪

(5)git commit -m'第一次提交'     //提交文件

(6)git remote add origin https://github.com/denghappy/a.git  //提交文件到远端地址

(7)git push -u origin master   //将文件推送到master分支上

(8)git branch gh-pages   //创建gh-pages分支

(9)git checkout gh-pages    //切换到gh-pages分支

(10)git push -u origin gh-pages   //将文件推送到gh-pages上

(11)在浏览器中打开,url 地址为:“用户名.github.io/项目名称” ,比如:denghappy.github.io/aaa

这样你的项目就托管到github上了,只要记住地址,有网就可以访问。

注意:

gh-pages是固定名称,只有此分支的网页可以直接在浏览器中进行访问。

 

四、git常用命令

 

 


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
author-avatar
fanguobiao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有