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. Github上传代码菜鸟超详细教程

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

  2. Windows下使用GitHub Pages搭建hexo博客详细教程以及Next主题超全配置

    根据下面的教程搭建的博客见这里 前言 马上要进入研究生了,不能再过浑浑噩噩的日子了,搭建一个小网站,用于记录自己所学的东西.其实,之前在腾讯云1元乞丐版上也搭建过博客,但是呢,只用来扯淡了.这次使用 ...

  3. git的操作说明超详细

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 个人在学习Git工作流的过程中,从原有的 SVN 模式很难完全理解Git的协作模式,直到有一天我看到了下面的文章,好多 ...

  4. 程序员必备:Git入门,超详细

    对于一个刚入行的程序员或者是大学生,我建议大家还是好好的把git学学,因为在现在大部分企业代码的管理工具都是使用Git,其实Git很简单,无非就是一些命令,我们平常多去用它,就能熟能生巧.我觉得你们可 ...

  5. react安装_超全面详细一条龙教程!从零搭建React项目全家桶(上篇)

    React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高.很多初学者纠结一开始是学react还是vue.个人觉得,有时间的话,最好两个都掌握一下.从学 ...

  6. 我的Go+语言初体验——(1)超详细安装教程

    我的Go+语言初体验--(1)超详细安装教程 "我的Go+语言初体验" | 征文活动进行中- Go+ 是什么?为数据而生,实现教学.工程与数据的 "三位一体". ...

  7. TypeScript超详细入门教程(上)

    TypeScript超详细入门教程(上) 01 开篇词:Hello~TypeScript 01 开篇词:Hello~TypeScript 更新时间:2019-10-30 13:49:46 既然我已经踏 ...

  8. 【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

    [CSDN云IDE]个人使用体验和建议 (含超详细操作教程)(python.webGL方向)  文章目录: 一.CSDN云IDE简介 二.新建工作空间 三.管理你的工作空间 (3.1).工作空间基本信 ...

  9. Redis 超详细版教程笔记

    视频教程:[狂神说Java]Redis最新超详细版教程通俗易懂 视频地址:https://www.bilibili.com/video/BV1S54y1R7SB 目录索引 nosql 阿里巴巴架构演进 ...

最新文章

  1. 腾讯老照片修复算法开源,细节到头发丝,3种预训练模型可下载 | GitHub热榜
  2. ios 调用c语言函数指针,第09天C语言(08):指向函数的指针的应用场景
  3. request请求和response响应时的乱码解决代码
  4. Sparse Principal Component Analysis via Rotation and Truncation
  5. boost::geometry::srs::projection用法的测试程序
  6. [BZOJ 1047] [HAOI2007] 理想的正方形 【单调队列】
  7. elasticjob已下线_elastic-job详解(二):作业的调度
  8. 对几个submission文件迅速做voting操作
  9. 如何将Pcm格式的音频文件转换成Wave格式的文件
  10. 确定性有穷自动机(DFA算法) 非确定性有穷自动机(NFA算法)
  11. 字符串经典题之大数相加
  12. blender 用户界面基本构成
  13. 基于ipv6的socket通信(TCP)
  14. conda create出现连接问题_解决conda创建新环境慢 conda install 速度慢 报错问题
  15. 数据库系统概念第六版课后习题-第二章答案
  16. 神经猫java代码_纯HTML5制作围住神经猫游戏-附源码下载
  17. 服务器系统怎么打驱动精灵,win7系统如何使用驱动精灵?教你在win7系统使用驱动精灵的方法...
  18. 关于SMP IRQ affinity
  19. iOS 3D Touch之主屏幕快捷操作(Quick Actions)
  20. ブリアー / 三星枪

热门文章

  1. 从海尔工业平台数字化案例看产业生态平台的几点分享
  2. 有趣且重要的JS知识合集(18)浏览器实现前端录音功能
  3. tkinter显示图片
  4. 01.swagger
  5. hdu 5175 Misaki's Kiss again (抑或运算+公式变形)
  6. 2021校园PHP表白墙程序源码
  7. 利用ACM服务,快速申请免费的公有证书,你get到了吗?
  8. js如何打开编辑服务器端文件夹,js 打开本地或共享文件夹
  9. BadUSB+ProMicro+Arduino做一个插入U盘自动攻击
  10. 小话设计模式(十)外观模式