入门级: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超超超详细使用教程!相关推荐
- Github上传代码菜鸟超详细教程
最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...
- Windows下使用GitHub Pages搭建hexo博客详细教程以及Next主题超全配置
根据下面的教程搭建的博客见这里 前言 马上要进入研究生了,不能再过浑浑噩噩的日子了,搭建一个小网站,用于记录自己所学的东西.其实,之前在腾讯云1元乞丐版上也搭建过博客,但是呢,只用来扯淡了.这次使用 ...
- git的操作说明超详细
2019独角兽企业重金招聘Python工程师标准>>> 说明: 个人在学习Git工作流的过程中,从原有的 SVN 模式很难完全理解Git的协作模式,直到有一天我看到了下面的文章,好多 ...
- 程序员必备:Git入门,超详细
对于一个刚入行的程序员或者是大学生,我建议大家还是好好的把git学学,因为在现在大部分企业代码的管理工具都是使用Git,其实Git很简单,无非就是一些命令,我们平常多去用它,就能熟能生巧.我觉得你们可 ...
- react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)
React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高.很多初学者纠结一开始是学react还是vue.个人觉得,有时间的话,最好两个都掌握一下.从学 ...
- 我的Go+语言初体验——(1)超详细安装教程
我的Go+语言初体验--(1)超详细安装教程 "我的Go+语言初体验" | 征文活动进行中- Go+ 是什么?为数据而生,实现教学.工程与数据的 "三位一体". ...
- TypeScript超详细入门教程(上)
TypeScript超详细入门教程(上) 01 开篇词:Hello~TypeScript 01 开篇词:Hello~TypeScript 更新时间:2019-10-30 13:49:46 既然我已经踏 ...
- 【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)
[CSDN云IDE]个人使用体验和建议 (含超详细操作教程)(python.webGL方向) 文章目录: 一.CSDN云IDE简介 二.新建工作空间 三.管理你的工作空间 (3.1).工作空间基本信 ...
- Redis 超详细版教程笔记
视频教程:[狂神说Java]Redis最新超详细版教程通俗易懂 视频地址:https://www.bilibili.com/video/BV1S54y1R7SB 目录索引 nosql 阿里巴巴架构演进 ...
最新文章
- 腾讯老照片修复算法开源,细节到头发丝,3种预训练模型可下载 | GitHub热榜
- ios 调用c语言函数指针,第09天C语言(08):指向函数的指针的应用场景
- request请求和response响应时的乱码解决代码
- Sparse Principal Component Analysis via Rotation and Truncation
- boost::geometry::srs::projection用法的测试程序
- [BZOJ 1047] [HAOI2007] 理想的正方形 【单调队列】
- elasticjob已下线_elastic-job详解(二):作业的调度
- 对几个submission文件迅速做voting操作
- 如何将Pcm格式的音频文件转换成Wave格式的文件
- 确定性有穷自动机(DFA算法) 非确定性有穷自动机(NFA算法)
- 字符串经典题之大数相加
- blender 用户界面基本构成
- 基于ipv6的socket通信(TCP)
- conda create出现连接问题_解决conda创建新环境慢 conda install 速度慢 报错问题
- 数据库系统概念第六版课后习题-第二章答案
- 神经猫java代码_纯HTML5制作围住神经猫游戏-附源码下载
- 服务器系统怎么打驱动精灵,win7系统如何使用驱动精灵?教你在win7系统使用驱动精灵的方法...
- 关于SMP IRQ affinity
- iOS 3D Touch之主屏幕快捷操作(Quick Actions)
- ブリアー / 三星枪