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新手使用学习详解的更多相关文章

  1. GitHub 使用教程图文详解(转)

    大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...

  2. 弹性布局学习-详解align-content(六)

    弹性布局学习-详解align-content(六)

  3. 弹性布局学习-详解 justify-content(三)

    弹性布局学习-详解 justify-content(三)

  4. 弹性布局学习-详解 flex-direction【决定主轴的方向】(二)

    弹性布局学习-详解 flex-direction[决定主轴的方向](二)

  5. GitHub 使用教程图文详解

    大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://git ...

  6. 弹性布局学习-详解flex-wrap(五)

    目录 弹性布局学习-介绍(一)  弹性布局学习-详解 flex-direction[决定主轴的方向](二) 弹性布局学习-详解 justify-content(三) 弹性布局学习-详解 align-i ...

  7. 弹性布局学习-详解 align-items(四)

    目录 弹性布局学习-介绍(一)  弹性布局学习-详解 flex-direction[决定主轴的方向](二) 弹性布局学习-详解 justify-content(三) 弹性布局学习-详解 align-i ...

  8. Pycharm新手使用教程(详解)

    Pycharm新手使用教程(详解) [注]: 如果想要下载Pycharm工具,直接去<开发工具>中进行下载. 简介 Jetbrains家族和Pycharm版本划分: pycharm是Jet ...

  9. SignalR新手系列教程详解总结(转)

    SignalR新手系列教程详解总结 GlobalHost.ConnectionManager.GetHubContext<TodoListHub>() .Clients.Clients(l ...

随机推荐

  1. GBase数据库存储过程——批量查询多个数据表的磁盘占用情况

    --清理历史表,可选 DROP TABLE IF EXISTS `dap_model`.`data_statics`; CREATE TABLE `dba`.`data_statics` ( `TAB ...

  2. ASP.NET MVC网站学习问题积累(一)

    最近工作压力比较大,不得已开始自学C#.同时网站开发业务开展迫在眉睫,只能先从ASP.NET学起.回想一下,连C#和ASP.NET的关系都没有明白,就被赶鸭子上架了...我觉得这将是我工作以来最具有戏 ...

  3. Jsoup进阶选择器

    package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...

  4. LeetCode Remove Duplicates from Sorted List 删除有序链表中的重复结点

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  5. hihocoder 1109 堆优化的Prim算法

    题目链接:http://hihocoder.com/problemset/problem/1109 , 最小生成树 + 堆优化(优先队列). 可以用优先队列,也可以自己手动模拟堆,为了练手,我两种都试 ...

  6. Select与SelectMany

    SelectMany在MSDN中的解释:将序列的每个元素投影到 IEnumerable(T) 并将结果序列合并为一个序列. 不用去用foreach进行两次遍历,就可以将子循环需要的元素过滤出来... ...

  7. EF和linq语句查询条件不等于某个参数出现的问题

    where t.a!=字符串   这是错误的写法,正确为 where t.a!=字符串.trim() 其他类型变量需要保持实体类型和查询条件参数的类型是一致的,不然出现的语句可能会是 类似`Exten ...

  8. Android(java)学习笔记152:采用get请求提交数据到服务器(qq登录案例)

    1.GET请求:    组拼url的路径,把提交的数据拼装url的后面,提交给服务器. 缺点:(1)安全性(Android下提交数据组拼隐藏在代码中,不存在安全问题)  (2)长度有限不能超过4K(h ...

  9. 零基础快速入门SpringBoot2.0 (一)

    零基础快速入门SpringBoot2.0 (一) 一.SpringBoot2.x依赖环境和版本新特性说明 简介:讲解新版本依赖环境和springboot2新特性概述 1.依赖版本jdk8以上, Spr ...

  10. SOA架构设计案例分析

    转载自:https://www.jdon.com/soa.html 首先Martin Fowler提出SOA歧义Service Oriented Ambiguity,认为"什么是SOA&qu ...