GitHub安装使用教程 |
您所在的位置:网站首页 › github如何下载项目 › GitHub安装使用教程 |
一、前言
Git 是什么? Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制系统,让程序员团队能够协作开发项目,Git 帮助大家管理为项目所做的工作,避免一个人所做的修改影响其他人所做的修改。你在项目中实现一个新功能的时候,Git 将跟踪你对每个文件所做的修改。确定代码可行后,你将提交所做的修改,而 Git 将记录项目最新的状态,如果你犯了错,想撤销所做的修改,可轻松的返回以前的任何可行状态。 GitHub 是什么? GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名GitHub。 GitHub 于2008年4月10日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。 GitHub的官网:https://github.com/ 二、Git客户端的安装最早 Git 是在 Linux 上开发的,很长一段时间内,Git 客户端只能在 Linux/Unix 系统上运行。随着 Git 的使用逐渐普及,一些开发者也慢慢将 Git 移植到了 Windows 平台上,也就是我们要下载安装的 Git 客户端。 截止博客发布的时间,Git客户端最新版本是 2.22.0。我们可以从官网下载,网速慢的同学请移步GitHub国内下载站,然后按默认选项安装即可。若不放心自己默认安装的,可参考这篇博客 - Git安装教程(windows) 安装。 安装完成后,在开始菜单里找到 “Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明 Git 安装成功! 三、使用Git在GitHub上托管程序准备工作:Git配置 因为 Git 是分布式版本控制系统,所以,每个机器都必须自报家门:你的用户名和Email地址。你必须提供用户名,但可以使用虚构的电子邮件地址。其实这步可以省略,不需要设置用户名和邮箱也可直接托管程序: $ git config --global user.name "Username" $ git config --global user.email "[email protected]"注意:git config 命令的 --global 参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置。如果只想对某一个仓库指定不同的用户名和Email地址,只要去掉 --global 即可。 下面介绍使用Git在GitHub上托管程序的各步骤。 1. 初始化仓库 跳转到你想进行Git管理的项目目录内,并通过 git init 命令把这个目录变成 Git 可以管理的仓库: $ cd F:/Project/C++/Qt/learnGit $ git init Initialized empty Git repository in F:/Project/C++/Qt/learnGit/.git/瞬间 Git 就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把 Git 仓库给破坏了。要是删除这个东西,则会丢弃项目的所有记录。 如果你没有看到 .git 目录,那是因为这个目录默认是隐藏的,用 ls -ah 命令就可以看见。 注意:如果文件夹名称中间有空格,可以使用\,例如:$ cd F:/C++\ Project/C++。 2. 检查状态 在执行其他操作之前,先来看一下状态(项目目录内就一个 main.c 文件): $ git status On branch master No commits yet Untracked files: (use "git add ..." to include in what will be committed) main.c nothing added to commit but untracked files present (use "git add" to track)在 Git 中,分支是项目的一个版本,从这里的输出我们可以知道,我们位于分支 master。 我们每次查看项目的状态时候,输出的都是我们位于分支 master 上,接下里的输出表明,我们将进行初始项目的提交,提交是项目在特定时间的快照。 Git指出了项目中未被跟踪的文件 main.c,因为我们还没有告诉他要跟踪那些文件,接下里我们被告知没有任何东西添加到当前提交里面,但我们可能需要将为跟踪的文件加入仓库。 3. 将文件加入到仓库 执行 git add --all 命令,将需要上传的全部内容放到缓存区,再“检查状态”: $ git add --all 。。。。。 MINGW64 ~/learnGit (master) $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached ..." to unstage) new file: main.c命令 git add ,将项目中未被跟踪的文件都加入到缓存区,它不提交这些文件,而只是让 Git 开始关注他们。然后检查这个项目的状态,发现 Git 找到了需要提交的文件的一些修改,标签 new file 表示这些文件是新加入的。 4. 执行提交 提交(commit)项目中已经被追踪的文件加入到仓库中: $ git commit -m "ProName_V1.0.0" [master (root-commit) 5d6ceca] Started project 1 file changed, 1 insertion(+) create mode 100644 main.c简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。“输出”表明我们在分支master 上,而且有一个文件被修改了 5. 添加远程库 commit 之后,还要将 commit 的代码 push 到远程库,但是首先要添加远程库,执行以下命令: $ git remote add origin "https://github.com/confidentFeng/learnGit.git"请千万注意,把上面的 confidentFeng 和 learnGit 替换成你自己的 GitHub 账户名和仓库名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的。另外远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库。 6. git push到远程分支 这是最后一步,可以把本地库的所有内容推送到远程库上,按照步骤会提示输入用户名和密码: $ git push -u origin master [-f] Counting objects: 20, done. Delta compression using up to 2 threads. Compressing objects: 100% (10/10), done. Writing objects: 100% (20/20), 2.17 KiB | 0 bytes/s, done. Total 20 (delta 6), reused 0 (delta 0) To https://github.com/wangmingshun/studygit.git * [new branch] master -> master Branch master set up to track remote branch master from origin.把本地库的内容推送到远程,用 git push 命令,实际上是把当前分支 master 推送到远程。由于远程库是空的,我们第一次推送 master 分支时,加上了 -u 参数,git不但会把本地的 master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令。 注意:默认分支为 master,这里演示也是用的 master,如果想推送其它分支,需要先切换到该分支,再推送即可。 推送成功后,可以立刻在 GitHub 页面中看到远程库的内容已经和本地一模一样。从现在起,只要本地作了提交,就可以通过命令: $ git push origin master把本地 master 分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库! 四、项目上传的步骤总结总结一下将项目上传到GitHub的简单步骤: 在GitHub上新建一个仓库地址: http://github.com/......git 在需要上传的文件夹目录下,运行 git init 初始化 Git; 运行 git add 命令,将需要上传的内容放到缓存区; 运行 git commit -m "上传说明",将缓存区的的内容放入到仓库里面; 运行 git remote add origin http://github.com/......git,将仓库与 GitHub 仓库联系起来; 运行 git push -u origin master 将文件提交到GitHub仓库里面,这样就完成了文件夹的提交。 五、遇到问题及解决方案1. fatal: The remote end hung up unexpectedly 解决方案1: 在使用git推送项目时候出现 fatal: The remote end hung up unexpectedly,原因有可能是推送的文件太大。可以在 .git 目录下面修改生成的 config 文件增加如下: [http] postBuffer = 524288000也可以使用命令设置缓存: $ git config http.postBuffer 524288000解决方案2: 使用git更新或提交中途有时出现The remote end hung up unexpectedly的异常,特别是资源库在国外的情况下。此问题有可能由网络原因引起。 配置git的最低速度和最低速度时间: $ git config --global http.lowSpeedLimit 0 $ git config --global http.lowSpeedTime 999999 单位 秒--global配置对当前用户生效,如果需要对所有用户生效,则用--system 解决方案3: 在使用git推送项目时有可能出现: fatal: The remote end hung up unexpectedly | 7.00 KiB/s这句显示 远程结束挂起 |7kb/s 应该是墙的原因导致网速太慢,且项目有点大上传不上解决办法:“翻墙”或者等等重新再push一遍,就没问题了。 2. curl 56 OpenSSL SSL_read:SSL_ERROR_sysCALL 因为服务器的SSL证书没有经过第三方机构的签署,所以才报错。解决方案如下: 第一步,克隆远程仓库时,用env命令设置GIT_SSL_NO_VERIFY环境变量为”ture”。完整的命令如下: $ env GIT_SSL_NO_VERIFY=true git clone https:// GitHub安装使用教程的更多相关文章 MyEclipse 安装插件 Github安装/使用 教程2016年02月18日 09:45:23 阅读数:4531 本文的目的是 1.在 Myeclipse10.7中 集成Github并使用. 选择的安装方式是:MyEclipse 中设置下文中1后,下载g ... git和github新手安装使用教程(三步入门)git和github新手安装使用教程(三步入门) 对于新手来说,每次更换设备时,github的安装和配置都会耗费大量时间.主要原因是每次安装时都只关心了[怎么做],而忘记了记住[为什么].本文从操作的 ... Linux下的GitHub安装与简单配置教程 ~ 转载Linux下的GitHub安装与简单配置教程 1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ... 专为设计师而写的GitHub快速入门教程专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li 原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ... Github入门详情教程前言 之前我写了一篇文章还延伸了几篇阅读,对大部分小白很有用,那么我继续普及下Github页面及其概念. 定义 GitHub 是一个网站,一个面向开 ... NideShop项目的安装部署教程本文档为微信小程序商城NideShop项目的安装部署教程,欢迎star NideShop商城api服务:https://github.com/tumobi/nideshop NideShop微信小程序 ... [Jenkins 新插件] 兼容阿里开发手册 (P3C) 的火线插件安装使用教程一.前言 火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大 ... MyEclipse插件github安装使用MyEclipse插件github安装使用 网络上的介绍一堆堆的,但是自己尝试了下,发现问题很多,就动手做个教程. 大纲 1.git客户端安装 2.ssh配置 3.egit安装配置 4.参考资料 ... Ubuntu16.04上安装cudnn教程和opencvhttps://blog.csdn.net/wang15061955806/article/details/80791112 Ubuntu16.04上安装cudnn教程 2018年06月24日 14: ... 随机推荐 初识 Sql Server存储过程开篇语 之前的公司并未使用存储过程来做项目,所以小生对存储过程的调用.使用也是一知半解,刚好这家公司就大量用到了存储过程 这次做的功能,为了保持风格一致,也是需要使用存储过程来实现动态sql和数据分页 ... ps应用1.选中图层 ctrl+鼠标左键(win) command+鼠标左键(mac) 2.初始化 右侧:图层,历史记录,信息(面板选项-rgb,文档尺寸,像素),字符 编辑-首选项-单位与标尺-像素 窗口- ... bzoj2282到路径的距离就是到路径上的点最近的距离首先看到最大值最小不难想到二分答案下面的问题就是怎么判断,显然我们是不能穷举路径的我们要找出消防路径的性质仔细研究就会发现消防路径一定是树的直径的一段,这样必然最 ... C#属性和字段属性 属性是一种用于访问对象或类的特性的成员.属性是字段的自然扩展,这两者都是具有关联类型的命名成员.而且访问字段和属性的语法是相同的.然而,与字段不同,属性不表示存储位置.相反属性具有访问器,这些访 ... Dockerfile命令大全Dockerfile 制作Dockerfile为Docker入门学习的第一步. Dockerfile可以快速的帮助我们去构建镜像, 是在工作中必备的一项技能, 下面整理了一些命令 FROM 功能为指定 ... 【Android】异步加载布局探索最近在做的项目页面复杂导致布局嵌套多层,而且又使用了百分比布局(可能主要是这个原因)导致页面加载的时候主线程会被阻塞, 那要想减少主线程阻塞,一来就是简化布局,减轻LayoutInflater的负担, ... 电信固定ip宽带80与8080端口踩坑本文只是作为记录,避免后面遇到此类问题耗费时间. 实际情况:公司有个固定电信宽带是固定IP的,想把固定IP映射到测试环境ip,实现可以公网通过固定ip访问,内网通过局域网ip访问. 测试环境服务是占用 ... VS2010 DLL库生成和使用一.生成dll文件(VS2010 Win32 程序) CreateDll.h // 下列 ifdef 块是创建使从 DLL 导出更简单的// 宏的标准方法.此 DLL 中的所有文件都是用命令行上定义的 ... Tomcat安装 以Linux 分支 Ubuntu Server 为例以Linux 分支 Ubuntu Server 为例.一.相关目录及作用说明 /etc/tomcat6 - 全局配置 /usr/share/tomcat6/ - 程序主目录 /usr/share/to ... CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ... |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |