Git 与 Github 最简单的使用

  • Git是分布式版本控制系统(可以理解为文件管理拓展工具)
  • github一个在线文件托管系统(可以理解为一个在线云盘)

  准备工作,在git官网下载git软件件,安装git软件,以windows.为例,下载好文件打开,只需一路next就ok

到github官网注册github账号;注册好的页面差不多这样;

点 Start a project,第一次打开,提示需要验证你的邮箱,也就是注册时的邮箱,验证完邮箱后,新建一个project

填好name 我这里就叫origin好了,一定要点上下面的复选框

这边我建了一个origin名字的project,也就是常说的一个库;

然后打开clone or download 倒三角复制那行url.后面git要用到很关键;

  在这个库里面,我们也有新建文件,上传文件,下载文件;等等功能,也就是你不用git,直接将你的电脑本地项目文件批量传送到github保存,也是可以的,同样起到分享与备份的作用,但如果本地文件太多修改太频繁的话,显然不太方便;

  • 好了,开始使用git了;第一步在电脑中新建一个文件夹;这里,我以l:/origin文件夹为例
  • 打开l:/origin文件夹,鼠标右键,打开git bash here;
  • 输入命令

git clone https://github.com/almslfniswd/origin.git   这个地址就是你上一步所提制的地址,根据每人的账号情况修改

  git clone(命令即是从github上下载一个库到本地) 你下载好这个库到本地,你的本地文件夹就会多出一个origin文件夹(你之前在github建立的project名);为什么这么做?因为git从github下载,是不需要任何配制的, 你下载下来后,git就会自动帮你生成配制文件,也就是你的git已经配制好了,之前的在线库origin已经是本地库origin

  现在可以直接使用你的git,当然本地使用已经下载已经没有问题了,那么在本地修改,与github库同步怎么办?也就是在我本地origin下做的项目怎么同步到github,之前已经说过,可以直接在github网站上传,但这不太方便,现在用git命令行上传同步本地库到github

我们在刚下下来的origin文件夹下新建一个text.txt文件;在文件夹下右键git Bash here 打开命令窗口(注意一定是要在origin目录里面打开,之前是在d:vs目录,现在是对origin的库进行操作,所以一定要进入origin文件夹内)

$git add text.txt    //此时没有任何反映

$git commit -m "新建了一个文件"

//此时会有一个错误提示,大体内容是让你告诉他你是谁,这时命令窗口会有命令提示,

git config --global user.email "userEmail@qq.com"
git config --global user.name "Name"

照抄一遍,把,userEmail@qq.com,与Name改成你github账户名即可;一行一确定之后再输入一次

$git commit -m "新建了一个文件"

  • 命令解释
  • git add text.txt 是将text.txt文件添加到库缓冲区
  • git commit 是将缓冲区文件提交到git本地库核心区 -m 为提示文本,也就是你想对这个文件的改动说明

现在可以同步到github了输入命令

git push

    • 将本地库核心区域未同步的内容同步到github上,当然同步在github上也是在github的origin文件夹内
    • 好了回到github网页看看,是不是已经多出了一个text.txt文件呢;
    • 提示,上文件设置email与name 的命令行 --global意思,也就是设置一次永久有效

以上就是在github新建库在本地修改上传同步的方法,但如果是以前已经写好的项目,要保存到github,就得用以下步骤!

在github 新建工程

一定不能打勾,名字任意可以与本地文件夹不同名,点创建

之后网站上就会出现这个页面,没错,很贴心

  • 在要上传到github的项目文件夹上,右键打开,git Bash here 照着提示命令一行一行抄就是了(每个人生成的不一样,不是按我这个抄哦,是你的提示页面上的内容)
  • 注意的是,git add README.md 可以改成 git add 你想上传到文件名,多文件 可以用git add .   传送当前目录全部文件
  • 这样你的本地项目也就与github 我这里是text项目同步了,如果有修改,下次同步,只需,将修改部分,git add 修改部份,git commit -m "修改说明" , git push 上传同步就好了

最后,说一下git push 命令吧

网上千篇一律全是这种解释:()

然而github 官方帮助文档确是,这么说的

  git push 远程主机名  本地分支名 : 远程分支重名命    git push origin master : remaster 没错,上传文件后,将本地的分支名重命名为remaster ,也就是本地库的分支名(理解成总文件夹名),在github上会给重命名成最后一个参数,秒懂,在没看到帮助文档之前,查git push ,那一个绕口令式的解释说明.....我是蒙了

再说一下,ssh-keygen 吧

  这个只是git连接github提供的一种连接方式之一,连接方式有url.ssh.file.等等,有兴趣的可以去查,但是看了很多教程,都是要用ssh,设置密钳,然而,ssh的连接方式只是给加了一个密码,用哈希算法,然而,很多教程都以为是必选项.更恐怖的是,在设置密码那一步确又都解释说,不用设置密码直接下一步,那你用这一步有什么用,不是画蛇添足,密码确实没什么用,本身就是个分享公开的平台;所以没有特殊要求就不用去折腾,那个ssh哈希密码了

<--Git 详细说明-->

what is git?  (什么是git?)

  • version control system (vcs) for tracking changes in computer files    版本控制系统(vcs),用于跟踪计算机文件的变化
  • distributed version control    分布式版本控制
  • coordinates work between multiple developers    协调多个开发者之间的工作
  • who made what changes and when     谁做了什么变化和什么时候
  • revert back at any time  随时恢复
  • local & remotee repos        本地和远程协作

concepts of git  (git的概念)

  • keeps track of code history  跟踪代码历史
  • takes "snapshots" of your files   需要的文件“快照”  
  • you decide when to take a snapshot by making a "commit"   你来决定什么时候提交快照通过“commit”
  • you can visit any snapshot at any time    您可以随时访问任何快照
  • you can stage files before committing    提交前你能为文件打索引

basic commands

$git init          //initialize local git repository  //初始化本地的git仓库

$git add <file>      //add File(s) To index  //添加文件索引

$git status        //check status of working tree  //检查工作树的状态

$git commit       //commit changes in index  //在索引中提交更改

$git push         //push to remote repository  //推送到远程存储库

$git pull          //pull  latest from remote repository  //从远程存储库中取得最新的

$git clone       //clone repository into A new directory  //将存储库克隆到新的目录中

常用命令:

$git add  文件全名 (可多个文件)  添加单文件索引

$git add  *.后缀名  添加指定后缀名文件索引

$git add  .  添加全部文件索引

<--指定文件忽略添加索引-->

$touch .gitignore 

在当前文件夹创建.gitignore文件(可用任何添加文件的方式创建)

在文件中添加需要忽略添加索引的文件 例如:

log.txt  //忽略日志文件

*.html  //忽略所有html文件

/文件夹名  //忽略指定文件夹所有文件

$git rm   //删除索引命令(单独使用列出附加参数提示)

常用附加参数

--cached 文件名   //删除指定文件索引

    -f 文件名  //删除文件以及文件索引

    -r  //可选附加参数支持递归删除即可对整个文件夹操作,

示例: $git --cached -r 文件夹名 //删除指定文件夹所有文件索引

    $git -f -r 文件夹名 //删除指定文件夹所有文件

  &git reset HEAD 文件名(或)文件夹名

    HEAD指针指向最后一次被操作的索引//此命令可设置HEAD指向指定索引

$git checkout -- 文件名  (或)  文件夹名   

  根据文件索引恢复文件//根据文件索引恢复文件夹所有打过索引的文件(对文件夹新加文件示加索引不作处理)

例如:文件index.html: 经过修改后发布发现修改版有问题要回到上一个版本(保证已通过$git add index.html保存文件索引),此时用$git checkout -- index.html

$git branch                           //查看分支 (默认主分支名master)

$git branch 新分支名           //创建新分支

$git checkout 分支名          //中转至分支(也可用快捷命令$git checkout -b 分支名 //创建并跳转至新分支)

$git merge 分支名              //合并分支到主分支

$git branch -d 分支名         //删除分支

  有了以上git与github知识,基本版本管理已经够用了;另外git不一定要与github结合使用,也可单独本机使用或局域网内使用,一经上传github默认是公开开放的,要建私人库是要交钱的,所以也可以自己搭建服务端配合git使用;

get最简单直接粗爆git与github教程的更多相关文章

  1. 适合小白/外行的git与github最基础最浅显教程

    首先声明,这是适合小白/外行/初学者/学生看的最基础最简单的git与github教程,已经能使用svn,git等工具的朋友请不要看这篇文章来浪费时间了. 想进一步学习git的,推荐去廖雪峰博客学习. ...

  2. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  3. Git和Github简单教程(转)

    这篇文章只挑一部分命令来讲,差不多够用就行的程度.如果需要其他命令,到时候再去其他地方了解就行了先在Github上写好再搬过来的:本文Github链接 目录: 零.Git是什么 一.Git的主要功能: ...

  4. Git和Github简单教程(收藏)

    原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...

  5. Git和Github简单教程【转】

    转自:https://www.cnblogs.com/schaepher/p/5561193.html#clone 原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但 ...

  6. Pycharm中Git、Github的简单使用和配置

    Pycharm中Git.Github的使用 PyCharm本身自带了git,稍微配置一下就可以很好的在图形界面下进行Python项目的版本控制 配置Git 在配置前先新建一个项目,当然也可以打开已有的 ...

  7. Git和Github的介绍、简单操作、冲突(上)

    目的:   1.git与github简介  2.Git与SVN区别 3.Github 的简单使用 4.下载安装Git-20-64-bit.exe   5.Git常用命令 5.1Git命令使用场景 5. ...

  8. 转:Git和Github简单教程

    转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程   原文链接:Git和Github简单教程 网络上关于Git和Gi ...

  9. git与github的简单使用教程

    git与github的简单使用教程 一.创建仓库 点击new,进入创建仓库页面 对将要创建的仓库进行一些简单的设置 最后再点击create repository就可以了. 到这我们就创建好了一个仓库. ...

随机推荐

  1. ASP.NET Core学习之一 入门简介

    一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问 ...

  2. Sp_Lock

    SP_LOCK 其显示信息为: Spid:进程ID号(要发现哪些用户和该spid相连,你就要执行存储过程sp_who) Dbid:数据库ID号(可以在主数据库中的sysdatabases表格中找到它) ...

  3. 使用@contextmanager装饰器实现上下文管理器

    通常来说,实现上下文管理器,需要编写一个带有__enter__和 __exit__的类,类似这样: class ListTransaction: def __init__(self, orig_lis ...

  4. LNMP架构之搭建wordpress博客网站

    系统环境版本 [root@db02 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@db02 ~]# uname -a Lin ...

  5. Java 读取配置文件

    1.读取XML文件使用dom4j-full.jar包的SAXReader解析: Document document=new SAXReader.reader("xml文路径/文件名xxx.x ...

  6. Android WebView默认GONE出现的问题记录

    前段时间重构一批相似度80%以上的项目[真搞不懂前人们是怎么忍受十几个类似的应用一直CVU的,冗余代码和资源达到40%以上] 其中需要抽出一个公共的带WebView的Activity基类,由于脑残测试 ...

  7. Python 的编码格式

    [前言] Python的编码格式对于初学者来说是很头疼的一件事,不过如果接触的多了,就会发现,只要在恰当的时候使用了恰好的编码,就不会出现太多的问题. [编码介绍] python 的编码格式2.x 和 ...

  8. Juicer模板引擎使用笔记

    关于Juicer:Juicer 是一个高效.轻量的前端 (Javascript) 模板引擎,使用 Juicer 可以是你的代码实现数据和视图模型的分离(MVC). 除此之外,它还可以在 Node.js ...

  9. 【sunday算法】玄学字符串匹配

    和KMP相似,用于字符串的匹配,貌似平均复杂度比KMP快,也比KMP更好理解. 大概意思是: 如果串b被串a包含,那么串a此时与串b匹配的部分一定一样 所以如果从开头开始匹配到不同处时,在a串找中此时 ...

  10. 2017 年的 人生 hard 模式终于结束了,2018年回归初心(二)

    今天周末, 深圳的天气简直好的不像话.好了,我们继续之前的话题往下聊. >>>猎头 : 关于猎头这个行业,以笔者的感觉来说 一般你工作年限未超过三年的话,你是很难遇到猎头来推送你的简 ...