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. ssh的action校验内容输出

    当form里为input类型时,如<input type="text" name="manager.name" />,则在对应的jsp中要使用< ...

  2. Python当前文件路径与文件夹删除操作

    前言: Python的文件操作跟Java存在部分差异.由于项目需要,近期使用python进行模块开发时遇到一些常见的文件操作便上网搜罗了一番,感觉众说纷纭.因此,结合自身的使用场景,贴一段python ...

  3. 2017春 前端自动化(二) 页面自动刷新、sass与css转换的使用、pxToRem直观转换

    2017春 前端自动化(二)   页面自动刷新.sass与css转换的使用.pxToRem直观转换 引言:   此文要演示:浏览器页面自动刷新:移动端px与rem的转换,简单直观化:使用sass自动生 ...

  4. 关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结

    关于dl  dt dd 文字过长换行在移动端显示对齐的探讨总结 <dl> <dt>抵押房产:</dt> <dd>1.北京市大兴区兴华大街丽园小区3单大兴 ...

  5. git应用套路

    git应用套路 一. 配置git别名 1.通过控制台命令vim ~/.gitconfig打开配置页面 2.配置如下内容: [user] name = your Name email = your E- ...

  6. Spark入门,概述,部署,以及学习(Spark是一种快速、通用、可扩展的大数据分析引擎)

    1:Spark的官方网址:http://spark.apache.org/ Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark Streaming.Graph ...

  7. Android Studio C/C++开发环境配置

    Android Studio C/C++开发环境配置  我的开发环境 : Win 10 + android studio 1.5   一, 安装NDK 开发环境: 1.  Settings -> ...

  8. Codeforces #452 Div2 F

    #452 Div2 F 题意 给出一个字符串, m 次操作,每次删除区间 \([l,r]\) 之间的字符 \(c\) ,输出最后得到的字符串. 分析 通过树状数组和二分,我们可以把给定的区间对应到在起 ...

  9. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](三)

    前言 上一篇<一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](二)>我们通过如下操作: 创建实体及工具类 创建Re ...

  10. 【Java学习笔记之四】java进制转化

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...