GitHub入门

创建账户

之前做代码版本控制都是在bitbucket上面的私有仓库。现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历。

首先创建账户的过程在这里就省略一万字了…

点这里进github官网

创建完账户,你就可以开始建立自己的第一个仓库了。你会在你奇奇怪怪的默认头像旁边看见一个很大的“+”号,点下去,可以看到2个选项,第一个就是新建个代码仓库。

填好仓库名,然后点上创建一个README,最好也填点说明。

然后你就能看到下面的界面了,现在里面只有一个ReadMe,注意红框的位置,这就是你的仓库地址,如果要克隆仓库,就是这个地址。

接下来就可以添加你的工程文件了,你可以用网站上的功能按钮新建文件或者上传文件,但是推荐还是在本地用命令行操作。

那本地怎么操作呢?有2个方案:

1. 直接下载github的桌面程序,是可视化的,很容易上手,建议新手使用。https://desktop.github.com/

2. 使用命令行,这里推荐使用命令行,一来效率高,二来以后你到不同的平台上,能很快的上手,再者如果你以后用的服务器没有图形界面,只能用命令行。所以还是熟悉的好。
首先你需要安装git

Linux上安装Git

红帽系列

$ sudo yum install git

Ubuntu系,请尝试用 apt-get:

$ sudo apt-get install git

Mac上安装Git

在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。 如果没有安装过命令行开发者工具,将会提示你安装。

如果你想安装更新的版本,可以使用二进制安装程序。 官方维护的 OSX Git 安装程序可以在 Git 官方网站下载,网址为 http://git-scm.com/download/mac

Windows上安装Git

windows用户用2个选择:
1. 如果命令已经熟悉的建议用msysGit可以去官网下载:
https://git-for-windows.github.io/
2. 如果安装了github桌面版,自动会有个git shell (我用的这个,比较好看)
https://desktop.github.com/

安装就一路下一步就好了。由于我是windows环境,这里重点就讲windows上git的使用,不过命令都是通用的。

Windows上git使用

安装完msysgit后,会有Git Bash的图标,安装完github桌面版会有个git shell
我建议用git shell,比较友好(但是命令都是通用的)。Git shell里面,windows和linux的命令都可以用!是不是很赞。

打开后是一个控制台,然后就可以输入命令了

一开始什么都不会的时候,可以使用

 git help

查看可用命令。下面先记录一些刚开始可能会用到的命令,剩下的命令以后再记录。

Git常用命令

获取仓库

可以用

git init

初始化一个仓库,但是一般常用的都是克隆现有的仓库,这里还是用刚才创建的helloworld仓库

git clone https://github.com/hk029/hello-world.git

url后面可以用一个新的路径名,让它保存到特定的目录下,默认就是当前路径下创建一个和仓库名一样的目录。

注意:这个命令是克隆了一个仓库而不是简单的拷贝了文件下来,还保存了有关仓库的信息,基本就是克隆出了一个小的本地仓库。

然后可以cd进去看看

这里有个比较有意思的地方,你会发现目录名后一个’[master]’这个表示目前这是一个master分支。当前目录有个.git目录,它会记录仓库的信息,所以你能看到‘[master]’这个标签。之后你对当前目录的文件做的操作,都会被记录。

状态与暂存

检查目前仓库的状态是挺重要的一个环节,以免你提交代码的时候提交的不是最新代码。
一般来说,你目前目录下的文件就两种状态

  • 跟踪
  • 未跟踪

我们可以先输入命令看看当前仓库的状态

 git status

可以发现目前目录下很干净,一切都和当初克隆下来一样,所以状态显示也是很干净。

我们新键一个文件,或者从别的地方移动一个文件到当前目录下,看看有什么变化。

我们可以看见,‘[master]’之后多了几个东西。

+1 表示目前有1个新文件
~0 表示0个修改的文件
-0 表示0个删除的文件
! 表示未保存

我们再输入status命令看看

发现目前有个未跟踪的文件了。

我们把它暂存到暂存区

 git add NewFile

这个命令会把这个文件放到暂存区(还是在本地)到时候提交的时候就会把暂存区的东西提交到网上。

这个时候,我们发现红色的字变成了绿色,感叹号也没有了,说明目前修改都已经保存了。

再输入satus命令看看

这个时候已经是跟踪状态了。

如果我们这时候修改NewFile会发生什么呢?

可以发现,又变红了,这时候出先了~1,说明有一个修改文件。使用status命令看看

果然,出现了一个NewFile在未跟踪里面。这不是很奇怪吗,一个文件既是跟踪又是未跟踪?其实这很好理解,你可以理解为暂存区还有一个NewFile拷贝,就是原来那个我们add的“空”的NewFile。修改的这个不在暂存区,如果这时候我们把所有修改提交,那么提交的是“空”的NewFile。

所以当我们提交前,一定要看是不是还有红字?是不是还有什么修改没有更新到暂存区!

最后,还说下,其实git status有个简化输出的形式。

git status -s

这里我为了让所有状态都出现,删除了README.md,可以发现这个简化版输出其实更直观。

我们把所有的修改更新到暂存区吧:

git add NewFile
git rm README.md

现在所有的更新都更新到暂存区了,可以提交了!

提交到本地仓库

这里的commit只是保存到了本地。如果你只需要一个本地仓库,那么现在也就够了。

git commit -m "my first commit"

注意:一定要带-m加上说明

推送到远程仓库

因为你是直接从远程仓库拷贝的,所以你输入

git remote

会发现已经有个orignal了
这个时候你直接git push就行了

git push

用SSH连接并推送到远程仓库

但是,建议还是使用ssh的模式,安全点。下面说下ssh的模式怎么用,首先你要创建一个私钥,就是在自己电脑里的钥匙。

ssh-keygen -t rsa -C "your email addr"


第一个是问你改不改目录,回车就好。然后输入密码,确认(这个密码是生成这个密钥的密码,也可以为空,这样你下次push就不用输入密码了)。

然后你就可以去那个目录下找id_rsa.pub文件,打开(随便用什么打开),把里面的东西复制。

然后去网站上把自己私钥输入进去,头像——settings

根据图片点New SSH key

然后输入一个随便什么title自己知道就好,和你刚才复制的东西在key里

这时候,就算在github上注册了你的私钥,然后在输入

ssh -T git@github.com

看看是不是能ssh连上github

好了一切准备就绪。
我们先把远程仓库加上:

选择ssh,然后复制后面的地址。

(因为之前有一个original的,我们这里方便测试先删了它)

git remote rm origin

输入

git remote

发现没东西了,可以添加新的远程仓库了。

git remote add origin git@github.com:hk029/hello-world.git

然后输入

git push -u origin master

master是你的分支,origin是你的远程仓库

第一次git push -u origin master后,就可以用直接用git push指令了


好了这些基本操作就可以满足一些日常使用了,后续再加一些关于分支还有撤销 删除的操作。

GitHub与Git指令入门的更多相关文章

  1. 使用git指令下载github仓库代码(笔记)

    通过Git指令下载源码 Git概念说明 ​ 三种状态:修改状态.暂存状态和Git仓库 ​ 基本的Git工作流程: ​ 在工作目录中修改文件 ​ 暂存文件,将文件的快照放入暂存区域 ​ 提交更新,找到暂 ...

  2. 学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳 ...

  3. git简易入门(github)

    本文讲解下git的使用,包括使用git上传项目工程到github,以及错误解决. 1.安装git 使用apt-get安 sudo apt-get update sudo apt-get install ...

  4. 001 手把手用Git,Git从入门到上传本地项目到Github,看这篇就够了

    安装git 下载Git 下载好后,一路next即可 安装好后,打开Git bash,进行配置 首先配置自己的身份 git config --global user.name "Name&qu ...

  5. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  6. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  7. GUI for git|SourceTree|入门基础

    原文链接:http://www.jianshu.com/p/be9f0484af9d 目录 SourceTree简介 SourceTree基本使用 SourceTree&Git部分名词解释 相 ...

  8. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感

    第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...

  9. GitHub Flow & Git Flow 基于Git 的两种协作开发模式

    介绍基于Git 两种协作开发模式,GitHub Flow & Git Flow 对于Github 一些好用的特殊操作技巧 ,可以见GitHub 特殊操作技巧 和Git的基本操作 一 GitHu ...

随机推荐

  1. 试题 H: 人物相关性分析 第十届蓝桥杯

    试题 H: 人物相关性分析时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20 分[问题描述]小明正在分析一本小说中的人物相关性.他想知道在小说中 Alice 和 Bob有多少次同时出现 ...

  2. Android-系统绘图真相

    系统绘图真相:这篇博客是专门讲解,系统内部是如何控制图片的变化,例如:图片缩放/图片旋转/图片平移/等等 注意:⚠️在真实开发过程中:关于图片的 图片缩放/图片旋转/图片平移/等等 操作 是使用动画A ...

  3. 搭建 .NET Core 开发环境

    安装 .Net Core 执行代码 任务时间:时间未知 .NET Core 的官方文档很详细,本实验带你建立一个.NET Core 1.1的Web运行环境,更多内容可以可以查阅微软官方文档. 安装 . ...

  4. 虚拟化 - Hyper-V

    不能和VMware.VirtualBox同时使用 网络 交换机其实就是指网卡,只不过是虚拟的 内部交换机 外部交换机

  5. 关于mysql中[Err] 1451 -Cannot delete or update a parent row: a foreign key constraint fails

    mysql> SET FOREIGN_KEY_CHECKS = 0; Query OK, 0 rows affected (0.02 sec)   mysql> delete from r ...

  6. day05.2-一个文件的增删改查实例

    一. 测试程序   #INFO.txt源文件内容 global log 127.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info defa ...

  7. 转载文章 208 个最常见 Java 面试题全解析

    最近正值春招,一直在给公司招聘 Java 程序员,我从 2015 年做 TeamLeader 开始就习惯性地收集平时遇到的 Java 技术问题或周围朋友见过的面试题,经过不断筛选,终于凝练成一套实用的 ...

  8. memcache内存存储

    memcache的内存分配默认是采用了Slab Allocator的机制分配.管理内存.在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc和free来进行的. 但是,这种方式会导致内存 ...

  9. redhat linux elk命令

    安装es后不能启动原因在elasticsearch.yml中加如下两个配置: bootstrap.memory_lock: falsebootstrap.system_call_filter: fal ...

  10. 总结day13 ----内置函数

    内置函数 我们一起来看看python里的内置函数.什么是内置函数?就是Python给你提供的,拿来直接用的函数,比如print,input等等.截止到python版本3.6.2,现在python一共为 ...