Github新手使用学习详解
Github新手使用学习详解
(一)git的使用学习
首先下载git bash,安装一路默认选择即可。
安装好后第一步,获取ssh key,即属于自己的密钥:
打开Git bash后输入以下代码:
$ ssh-keygen -t rsa -C "your_email@youremail.com"
之后会有警告提示,yes即可。之后还有设置路径,修改密码等,一路默认回车。
之后出现一个带着一个字符画的画面和一个密钥的界面,就说明密钥创建成功了。
现在我们打开用户文件夹下的.ssh文件夹下的id_rsa.pub文件(open with notepad),全选,复制
之后点击自己Github的头像,进入settings,点击SSH and GPG keys,再点击New SSH key,title随便起,key将刚刚复制的内容粘贴进去。点击Add SSH key添加。
然后就可回到Git bash了。
输入:
$ ssh -T git@github.com
来查看是否绑定成功,遇到选择选yes。然后会看到:
You've successfully authenticated, but GitHub does not provide shell access
那就说明成功连接了Github。
还需设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
然后我们就可开始将远程的库克隆到本地以便上传代码了。
我们先从github上建立一个repository,命名为test,点击clone or download。如下图

复制,打开Git bash,如果不改定位,将把这个仓库保存到默认位置。在Git bash中使用cd /D切换盘符,使用cd filename切换文件夹

之后输入:
git clone https://github.com/Artoriaxx/test.git
来克隆仓库
可以在资源管理器中看到已经有test这个文件夹了,我们用cd命令切换到这个文件夹

可以观察到这里有个master,这就是我们的主分支。
常用命令:
ls------列出当前repository当前分支下的所有文件
git add <filename>(filename为你修改的文件)------当你修改或添加了文件后要执行的命令,提交一次修改。(等价于git commit -a)
git add . (注意不要漏了 . ) -------加入所有修改
git rm <filename>-------当删除一个文件时,需要执行的操作,以告诉git你确实删除了这个文件,并且git commit
git commit -m "message"-------这里的message为你这次提交的备注,以便在之后的版本控制中知道哪一次做了什么修改。
git pull <远程主机名> <远程分支名>:<本地分支名>----将远程的分支合并到本地指定分支,远程主机名默认为origin,如果与当前分支合并则可以省略本地分支名。如果只有一个分支可以直接git pull
git push <远程主机名><本地分支名>:<远程分支名>-----用本地分支更新远程分支
git branch------查看分支列表
git branch <branchName>------创建一个分支,名字为branchName
git checkout <branch>------切换分支
git checkout -b <branck> --------创建并切换分支
git branch -d <branch>-------删除分支(大写D为强制删除)
git merge <branch>-------将该分支合并到当前分支
git log--------查看历史状态
git checkout <commit id>-------回到某一历史版本,不改变当前分支,仅作查看,也可以将这个版本保存到另一个分支
git reset --hard <commit id>------将当前分支回退到id的版本
git reset --hard HEAD^---------回退到上一版本, ^的个数代表回退的版本数,如 ^^即为回退两个版本
基本操作就这些了,如果以后遇到问题会再次更新。
此外,我们可以使用Github desktop来操作repository:
1.创建仓库

2.在本地修改文件,会有changed file

3.添加某次修改的注释

4.点击Commit to master
5.在这里切换分支,同步到远程仓库

点击current branch切换分支,修改后push origin同步到远程仓库
6.使用hitstory来回退版本

选择要恢复的版本,右键,revert this commit
7.使用pull来从远程仓库更新本地,在选项repository中
使用github desktop非常方便,省去了许多麻烦,而且功能齐全。
总结:Github是每个程序员都要学会使用的利器,利用Git进行版本控制非常方便,Github上有许多开源项目等待学习
Github新手使用学习详解的更多相关文章
- GitHub 使用教程图文详解(转)
大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...
- 弹性布局学习-详解align-content(六)
弹性布局学习-详解align-content(六)
- 弹性布局学习-详解 justify-content(三)
弹性布局学习-详解 justify-content(三)
- 弹性布局学习-详解 flex-direction【决定主轴的方向】(二)
弹性布局学习-详解 flex-direction[决定主轴的方向](二)
- GitHub 使用教程图文详解
大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...
- 弹性布局学习-详解flex-wrap(五)
目录 弹性布局学习-介绍(一) 弹性布局学习-详解 flex-direction[决定主轴的方向](二) 弹性布局学习-详解 justify-content(三) 弹性布局学习-详解 align-i ...
- 弹性布局学习-详解 align-items(四)
目录 弹性布局学习-介绍(一) 弹性布局学习-详解 flex-direction[决定主轴的方向](二) 弹性布局学习-详解 justify-content(三) 弹性布局学习-详解 align-i ...
- Pycharm新手使用教程(详解)
Pycharm新手使用教程(详解) [注]: 如果想要下载Pycharm工具,直接去<开发工具>中进行下载. 简介 Jetbrains家族和Pycharm版本划分: pycharm是Jet ...
- SignalR新手系列教程详解总结(转)
SignalR新手系列教程详解总结 GlobalHost.ConnectionManager.GetHubContext<TodoListHub>() .Clients.Clients(l ...
随机推荐
- sublime相关小技巧
1.快速建立一个新文件:Ctrl+n 2.修改多个相同符号:Ctrl+D 3.建立语言后缀的文件保存,例如我想创建PHP的语言脚本,先按Ctrl+Shift+p,打开Command Palette,输 ...
- 最简单的基于FFMPEG的转码程序 —— 分析
模块: libavcodec - 编码解码器 libavdevice - 输入输出设备的支持 libavfilter - 视音频滤镜支持 ...
- 打造颠覆你想象中的高性能,轻量级的webform框架---js直接调后台的封装(第三天)
如果你没有看我第二天写的内容的,我想你是看不懂的!!!! 好了,废话不多说,怎么才能让我们的代码变得牛逼起来呢?怎么封装我们的代码呢?我们不可能 每个页面都需要那样写吧,那我们来一步一步来封装 我们的 ...
- 【洛谷3759】[TJOI2017] 不勤劳的图书管理员(树套树)
点此看题面 大致题意: 给定一个序列,每个元素有两个属性\(a_i\)和\(v_i\),每次操作改变两个元素的位置,求每次操作后\(\sum{v_i+v_j}[i<j,a_i>a_j]\) ...
- CPP-基础:C_C++变量命名规则
C_C++变量命名规则 变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 1. 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 2. 第一 ...
- SQLServer事务的原理
1.事务的概念 是数据库管理系统执行过程中的一个逻辑单元,由一个有限的数据库操作序列组成: 由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操 ...
- 如何在Git提交空文件夹
1,git clone url 拉取代码至本地 2,mkdir 文件夹名称 在本地创建文件夹 3,cd 文件夹名称 git init 初始化文件夹 vi .gitkeep 创建.gitkeep文件,内 ...
- java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...
- wepy框架构建小程序(1)
wepy框架构建小程序(1) 基本操作: # 安装脚手架工具 npm install wepy-cli -g # 创建一个新的项目 npm init standard myproject # 进入新项 ...
- Sass和gulp的简单了解
一.sass less css预处理器 sass里面有2种语法 第一种语法是sass 后缀名必须是sass 第二种语法是scss 后缀名必须是scss ...