入门级:GitHub和Git超超超详细使用教程!
GitHub和Git入门
考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法。
GitHub的简单使用
第一步 创建GitHub账号
1. 打开GitHub官网。
2. 点击绿色按钮Sign up for GitHub
,填写用户名,邮件地址和密码。
注意:
- 用户名只能包含字母和"-"字符
- 密码至少包含一个字母,一个数字和七个字符
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 feature
。feature
是分支名称,你可以随意取名,但请用英文。
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超超超详细使用教程!的更多相关文章
- Git安装和TortoiseGit详细使用教程【基础篇】
标签:tortoisegit 环境:win8.1 64bit 安装准备: 首先你得安装windows下的git msysgit1.9.5 安装版本控制器客户端tortoisegit tortoise ...
- Git安装与配置——详细教程1
1.下载Git客户端 想要安装Git首先要下载Git的安装包程序. Git安装包下载地址:https://git-scm.com/downloads/ 2.安装Git 双击安装程序进行安装: a. 欢 ...
- 一篇文章了解Github和Git教程
有趣有内涵的文章第一时间送达! 喝酒I创作I分享 关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 生活中总有些东 ...
- Github上传代码菜鸟超详细教程【转】
最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...
- 转帖: 一份超全超详细的 ADB 用法大全
增加一句 连接 网易mumu模拟器的方法 adb connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...
- 超全超详细的HTTP状态码大全(推荐抓包工具HTTP Analyzer V6.5.3)
超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...
- 使用Hexo搭建github博客步骤,超简便
categories: 工具 tags: git Windows 搭建博客 你只需要node环境和一个github账号就可以开工啦! 本教程适合于Windows环境,Mac教程也大同小异 利用hexo ...
- VMware虚拟机下安装CentOS7.0超详细图文教程
1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...
- 超简单!pytorch入门教程(五):训练和测试CNN
我们按照超简单!pytorch入门教程(四):准备图片数据集准备好了图片数据以后,就来训练一下识别这10类图片的cnn神经网络吧. 按照超简单!pytorch入门教程(三):构造一个小型CNN构建好一 ...
随机推荐
- CentOS 7 systemd添加自定义系统服务
systemd: CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,即:/usr/lib/systemd/syste ...
- LeetCode:16. 3Sum Closest(Medium)
1. 原题链接 https://leetcode.com/problems/3sum-closest/description/ 2. 题目要求 数组S = nums[n]包含n个整数,找出S中三个整数 ...
- 你了解的UIKit结构?
- Qt 使用irrlicht(鬼火)3D引擎
项目中需要加载简单的3D场景.资深老前辈推荐使用开源小巧的引擎irrlicht. 关于irrlicht,来之百度百科 Irrlicht引擎是一个用C++书写的高性能实时的3D引擎,可以应用于C++程序 ...
- bugku 字符正则
字符?正则? <?php highlight_file('2.php'); $key='KEY{********************************}'; $IM= preg_mat ...
- Lambda表达式在Kotlin中怎样工作的:setOnClickListener的转换(KAD 18)
作者:Antonio Leiva 时间:Mar 28, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin-android/ 虽然,我在其它文章讲过一点 ...
- Ajax请求被缓存的几种处理方式
Ajax请求被缓存的几种处理方式 我们都知道IE会针对ajax请求的地址缓存请求结果,直到缓存过期之前,针对相同地址发出的请求,只有第一次会请求会真正发送到服务端.在某种情况下,这种缓存机制确实能提高 ...
- ASP NET Core ---REST & HTTP GET
参照 草根专栏- ASP.NET Core + Ng6 实战:https://v.qq.com/x/page/h0764n405ll.html 一.REST (Representational Sta ...
- visionpro halcon 哪个好
visionpro halcon 哪个好 很多朋友会问到visionpro和halcon这两款机器视觉软件,到底学哪个好呢,今天众寻网就给大家讲一讲: 首先比较下两者的优缺点: halcon: 提供的 ...
- 一篇文章解决django中时区问题
首先要明确的是,当在Django项目的setting.py文件中设置了USE_TZ=True时,我们给定的时间存储到数据库的时候都会变成UTC时间(使用auto_now_add和auto_now为Tr ...