GitHub和Git入门

考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法。

GitHub的简单使用

第一步 创建GitHub账号

1. 打开GitHub官网

2. 点击绿色按钮Sign up for GitHub,填写用户名,邮件地址和密码。

注意:

  1. 用户名只能包含字母和"-"字符
  2. 密码至少包含一个字母,一个数字和七个字符

3. 点击绿色按钮Create an account,创建账号。

4. 在下一个页面点击绿色按钮Finish sign完成注册。

现在,你的GitHub账号就创建好了。请先在你的注册邮箱中完成邮件验证,然后可以看看GitHub提供的新手文档,我们也提供了这一文档的中文版。

第二步 创建一个GitHub开发者应用

1. 点击右上角你的头像,在下拉菜单中选择Settings

2. 在左边的Personal settings(个人设置)中选择OAuth applications,再在右侧选择Developer applications

3. 点击上图中的绿色按钮Register a new application,填写应用名称,你的主页,应用描述和回调URL。

4. 点击上图中的绿色按钮Register applciation注册应用,注册成功后,记住下一页中的Client ID和Client Secret值。

OK,现在你就可以使用此Client ID和Client Secret做GitHub三方登录了。

Git的简单使用

第一步 下载Git for Windows

1. 在官网点击Download,下载对应的exe文件,注意你的操作系统是32位还是64位。

2. 双击安装,中间不用做任何改动,一直下一步就行。如果你想修改安装位置,请放在纯英文路径下。

3. 安装成功,你现在就可以使用git命令行工具了。在你想要下载代码的路径,点击鼠标右键,选择Git Bash here。注意,你的代码路径也应是纯英文的。

4. Git Bash使用的是MinGW,其界面如下图所示:

第二步 创建一个本地hello-world仓库

1. 在命令行输入 mkdir hello-word,创建一个新文件夹。你可以使用ls命令来查看当前目录下有哪些文件和文件夹。

2. 输入cd hello-world进入新文件夹,注意在输入命令时,你可以用Tab键来自动补全。

3. 输入git init初始化Git仓库。此时用ls -a查看当前目录,可以看到多了一个.git/的文件夹,此文件夹保存了版本控制的所有相关信息。

注意,在此处使用的所有命令,如果你是在Linux环境下开发,用法都是完全一样的。所以对于完全没有Linux使用经验的学员,这也是一个开始接触Linux工作方式的好方法。

接下来,让我们创建一份简单的说明文件,并提交到版本库中。

4. 输入echo "This is a simple practise" > readme.txt,创建一个readme.txt文件。

5. 输入git status查看当前版本库状态,在Untracked files(未跟踪文件)下,会出现红色的readme.txt,代表此文件还未被Git所管理。

6. 使用git add readme.txt,将该文件加入缓冲区,如果你确定所有的修改都需要提交,可以使用git add .来加入所有修改。现在用git status查看,将看到文件名变为绿色。

7. 使用git commit -m "This is my first commit via Git!"来提交修改,-m后面所带的参数是本次提交信息,一般用来记录本次提交的主要意图。

8. 提交成功后,可以用git log查看历史提交记录。每个记录都会有提交id,作者和提交日期。

9. 你可以用git branch查看当前有哪些分支,当然,因为我们没有创建任何分支,目前只会有一个master分支。

10. 使用git checkout -b feature创建一个名为feature的分支,再用git branch查看一下。

以上是最最基本的Git操作,大家可以在此hello-world项目中随意尝试各种其他Git命令,最好的参考资料是Pro Git book

注意:学会Git的唯一方式是在实际使用中学习,切记不要尝试先记住一大堆理论知识或者Git命令。

项目的下载,查看和修改

第一步. 从GitHub上下载我们的项目代码。

1. 以Hello-World项目为例,点击绿色按钮Clone or download,然后在弹出窗口中点击剪切板图标,复制仓库的URL。

2. 在git bash中输入git clone https://github.com/feicui-android/Hello-World.git,下载项目源码。

第二步. 查看版本历史

1. cd到项目文件夹下,使用git log能看到我们的历史提交记录。

2. 要回到某一历史版本,可以使用git checkout commitId,看完后要回到最新代码,使用git checkout master

第三步. 本地修改代码

你可以在我们的代码基线上任意修改,但为了下载新代码时不出现冲突,请遵循以下步骤:

1. 下载新代码:git pull

2. 从master出捡出一个新的分支:git checkout -b featurefeature是分支名称,你可以随意取名,但请用英文。

3. 在feature分支上随意修改,改完后你可以提交你的修改:git commit -m "some message"

4. 此时要同步代码,请先切回主分支:git checkout master,然后更新git pull

5. 如果想删除自己建立的分支,使用git branch -D feature,注意执行此命令后分支被强制删除,无法恢复。

来源:https://blog.csdn.net/javaandroid730/article/details/53522872

入门级:GitHub和Git超超超详细使用教程!的更多相关文章

  1. Git安装和TortoiseGit详细使用教程【基础篇】

    标签:tortoisegit 环境:win8.1 64bit 安装准备: 首先你得安装windows下的git msysgit1.9.5 安装版本控制器客户端tortoisegit  tortoise ...

  2. Git安装与配置——详细教程1

    1.下载Git客户端 想要安装Git首先要下载Git的安装包程序. Git安装包下载地址:https://git-scm.com/downloads/ 2.安装Git 双击安装程序进行安装: a. 欢 ...

  3. 一篇文章了解Github和Git教程

    有趣有内涵的文章第一时间送达! 喝酒I创作I分享 关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 生活中总有些东 ...

  4. Github上传代码菜鸟超详细教程【转】

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

  5. 转帖: 一份超全超详细的 ADB 用法大全

    增加一句 连接 网易mumu模拟器的方法 adb  connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...

  6. 超全超详细的HTTP状态码大全(推荐抓包工具HTTP Analyzer V6.5.3)

    超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...

  7. 使用Hexo搭建github博客步骤,超简便

    categories: 工具 tags: git Windows 搭建博客 你只需要node环境和一个github账号就可以开工啦! 本教程适合于Windows环境,Mac教程也大同小异 利用hexo ...

  8. VMware虚拟机下安装CentOS7.0超详细图文教程

    1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...

  9. 超简单!pytorch入门教程(五):训练和测试CNN

    我们按照超简单!pytorch入门教程(四):准备图片数据集准备好了图片数据以后,就来训练一下识别这10类图片的cnn神经网络吧. 按照超简单!pytorch入门教程(三):构造一个小型CNN构建好一 ...

随机推荐

  1. CentOS 7 systemd添加自定义系统服务

    systemd: CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/syste ...

  2. LeetCode:16. 3Sum Closest(Medium)

    1. 原题链接 https://leetcode.com/problems/3sum-closest/description/ 2. 题目要求 数组S = nums[n]包含n个整数,找出S中三个整数 ...

  3. 你了解的UIKit结构?

  4. Qt 使用irrlicht(鬼火)3D引擎

    项目中需要加载简单的3D场景.资深老前辈推荐使用开源小巧的引擎irrlicht. 关于irrlicht,来之百度百科 Irrlicht引擎是一个用C++书写的高性能实时的3D引擎,可以应用于C++程序 ...

  5. bugku 字符正则

    字符?正则? <?php highlight_file('2.php'); $key='KEY{********************************}'; $IM= preg_mat ...

  6. Lambda表达式在Kotlin中怎样工作的:setOnClickListener的转换(KAD 18)

    作者:Antonio Leiva 时间:Mar 28, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin-android/ 虽然,我在其它文章讲过一点 ...

  7. Ajax请求被缓存的几种处理方式

    Ajax请求被缓存的几种处理方式 我们都知道IE会针对ajax请求的地址缓存请求结果,直到缓存过期之前,针对相同地址发出的请求,只有第一次会请求会真正发送到服务端.在某种情况下,这种缓存机制确实能提高 ...

  8. ASP NET Core ---REST & HTTP GET

    参照 草根专栏- ASP.NET Core + Ng6 实战:https://v.qq.com/x/page/h0764n405ll.html 一.REST (Representational Sta ...

  9. visionpro halcon 哪个好

    visionpro halcon 哪个好 很多朋友会问到visionpro和halcon这两款机器视觉软件,到底学哪个好呢,今天众寻网就给大家讲一讲: 首先比较下两者的优缺点: halcon: 提供的 ...

  10. 一篇文章解决django中时区问题

    首先要明确的是,当在Django项目的setting.py文件中设置了USE_TZ=True时,我们给定的时间存储到数据库的时候都会变成UTC时间(使用auto_now_add和auto_now为Tr ...