一、名词解释

Git

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Github

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

官网地址: github.com

二、一句话的事

我们要用Git这个软件与Github.com连接, 使之能帮助我们管理代码(版本管理)

三、应用环境

本文以Windows 7为例进行讲解, 其它环境大同小异, 可以在学会后自行研究, 或在留言交流

四、下载与安装

Git的下载地址: https://gitforwindows.org/

Windows里软件安装都比较简单

身为程序猿应该驾轻就熟, 一路Next就行, 有选择项时默认即可, 不用修改

五、Git与Github建立关联

  • 基本概念

    repository - 仓库, 可以理解为你项目所在的主文件夹

  • 在本地建立仓库

1.准备仓库: 创建你项目的文件夹, 然后在其中右键,选择[Git Bash Here]

2.初始化仓库: 运行[git init]来初始化仓库

3.放入代码文件: 把代码文件复制进来

4.本地提交代码:

它告诉我们有一个未追踪的文件, 并提示用 git add <file>...来加进去

但我们并不打算把所有命令都介绍一遍, 这里只讲用到的关键命令[git add -A]

什么都没发生, 没关系, 重要的是没有报错! 再用[git status]看看

有新的变化, 说明前面的add成功

执行[git commit -m "提交信息"] 将文件提交到repository里。提交信息用英文的双引号括起来。

顺便[git log]看看变化

这样就完成了本地的准备工作, 接下来我们看怎么把它弄到Github去

  • 本地Git和Github的连接

1.到Github注册账号。

这一步就不讲解了, 自己上官网注册即可, 这步要拿到用户句和邮箱

2.本地配置用户名和邮箱

3.生成ssh key

运行 [ssh-keygen -t rsa -C "你的邮箱"],它会有三次等待你输入,直接回车即可。

将生成的ssh key复制到剪贴板,执行 [clip < ~/.ssh/id_rsa.pub] (或者到上图提示的路径里去打开文件并复制)

4.打开Github,进入Settings:

点击[New SSH key], 将ssh key粘贴到右边的Key里面。Title随便命名即可。

执行 [ssh -T git@github.com]

看到上面的信息, Good job, 成功了!

  • 创建远程仓库并与本地关联

首先是在右上角点击进入创建界面

接着输入远程仓库名

填好后直接[Create repository], 其它的内容先不要管

将远程仓库和本地仓库关联起来

先到Github上复制远程仓库的SSH地址

把上面"git@github.com:visionsl/demo2.git"复制下来

本地运行[git remote add origin git@github.com:visionsl/demo2.git]

执行 [git push -u origin master] 将本地仓库上传至Github的仓库并进行关联

看看Github上面

关联成功!

下面试试修改代码再上传

给代码文件加点文字修改一下

代码保存后, 依次执行:

git add -A

git commit -m "second modify"

git push

刷新Github, 可以看到新的修改已提交!


简易小结

到这里就学完了:

    1. 安装Git

    2. 新建一个仓库(项目)

    3. 上传到Github

    4. 修改代码后上传Github

补两张图加深对Git的认识

Github管理自己的代码-远程篇的更多相关文章

  1. 使用github管理你的代码

    关于为什么使用github,网上已经有很多讨论了.当然选择还有google code, Bitbucket,sourceforge.github有如下优势: 1. github更有利于开源项目的发展 ...

  2. 在MacOSX下使用Github管理Xcode代码

    版本控制应该算是每个程序员所必备的技能,这个重要性,我就不多说了哈.现在版本控制基本上就是两种途径:SVN和Git.对于SVN我并不是非常了解,只知道在Windows下非常实用,但是在MacOSX下, ...

  3. GitHub进阶之利用Git远程仓库篇

    #在上一篇文章,相信大家对GitHub已经有了一个基础的理解 接下来我们来学习一下如何利用git来远程仓库 一,git是什么 git:一个免费的开源版本控制软件 用途:利用Git管理GitHub上的代 ...

  4. 【Git - 基础篇】如何快速有效的管理你的代码 - 安装和配置

    [本文仅凭个人经验进行整理,如有错误,欢迎指正,互相学习^^] -------------------------------------------------------------------- ...

  5. 使用git和github管理项目代码

    以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下 ...

  6. 构建微服务开发环境7————使用Github管理项目代码的版本

    [内容指引] 1.注册GitHub帐号: 2.下载Github Desktop客户端: 3.macOS安装Github Desktop客户端: 4.windows安装Github Desktop客户端 ...

  7. 使用Git和Github来管理自己的代码和笔记

    一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私有的,公开的是免费的,私有的是收费的.我现在创建 ...

  8. GitHub管理代码-随笔

    公司一直用的SVN进行项目管理,平时便自己折腾了下Git,这里做下GitHub的最简单的记录... 在git上创建仓库等就免谈了,网上也有好多教程,直接从创建之后记录: 在github的readme文 ...

  9. 使用git和github管理自己的项目---基础操作学习[转]

    原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...

随机推荐

  1. C# 如何合并Excel工作表

    文档合并.拆分是实现文档管理的一种有效方式.在工作中,我们可能会遇到需要将多个文档合并的情况,那如何来实现呢,本文将进一步介绍.关于拆分Excel工作表,可参见这篇文章--C#如何拆分EXCEL工作表 ...

  2. scrollWidth,clientWidth与offsetWidth的区别

    scrollWidth  是对象的实际内容的宽,不包边线宽度,会随对象中内容的多少改变(内容多了可能会改变对象的实际宽度). clientWidth  是对象可见的宽度,不包滚动条等边线,会随窗口的显 ...

  3. Python并发编程-RabbitMQ消息队列

    RabbitMQ队列 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列 ...

  4. complex figure

    1/z   ----direct by MATLAB exp(z)    by QT logZ       by  QT 1/z      用QT画的 -----2018-03-17--------- ...

  5. 使用mpvue开发微信小程序

    更多内容请查看 我的新博客 地址 : 前言 16年小程序刚出来的时候,就准备花点时间去学学.无奈现实中手上项目太多,一个接着一个,而且也没有开发小程序的需求,所以就一拖再拖. 直到上周,终于有一个小程 ...

  6. Day5_协程函数_面向过程

    def func(count): while True: yield count count +=1 #这是一个生成器,需要利用next()来执行. func(10) #yield: #1.把函数的执 ...

  7. windows SSH Tunnel实施日记

    1.准备条件:SSH跳板服务器一个.软件:Putty,CCProxy 2.putty建立SSH Tunnel:先在session那儿把服务器地址填好,到Tunnel界面上,选Dynamics和Auto ...

  8. pg_dump命令帮助信息

    仅为参考查阅方便,完全命令行帮助信息,无阅读价值. pg_dump dumps a database as a text file or to other formats. Usage:  pg_du ...

  9. es6(五):class关键字(extends,super,static)

    ES5中,生成对象通过构造函数: function A(name,age){ this.name=name; this.age=age } // 在A的prototype属性上定义一个test方法,即 ...

  10. Oracle12c中数据泵新特性之功能增强(expdp, impdp)

    Oracle的数据泵功能在10g中被引进.本文对数据泵在12c中的增强做一个概览. 1.   禁用日志选项(DISABLE_ARCHIVE_LOGGING) Impdp的TRANSFORM参数已经扩展 ...