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. 小白的Python之路 day5 random模块和string模块详解

    random模块详解 一.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 二.常用方法 1. random.r ...

  2. [补充资料] 手动搭建 Cloudera 集群

    本课主题 集群搭建 设置 Web 服务器 启动 ClouderManager 登入 Cloudera Manager 引言 这部份是一个补充资料,记录如何安装 Cloudera 服务器 集群搭建 查看 ...

  3. .net随笔--不好归类的

    1..cs .Designer.cs .resx三种文件 cs是类文件,不介绍了.Designer.cs是visual studio对cs类文件的自动生成代码的一种补充,在编辑器里用视图的方式对win ...

  4. 在阿里云 ECS 搭建 nginx https nodejs 环境(二、https)

    在阿里云 ECS 搭建 nginx https nodejs 环境(二) 这次主要内容是 如何在 ubuntu 的nginx 下配置 二级域名. 一. 域名解析 首先你需要去到你的 域名服务商那边 进 ...

  5. [转载]MySQL运行状态show status详解

    要查看MySQL运行状态,要优化MySQL运行效率都少不了要运行show status查看各种状态,下面是参考官方文档及网上资料整理出来的中文详细解释,不管你是初学mysql还是你是mysql专业级的 ...

  6. python的运维交流学习笔记

    #!/usr/bin/env | #!/usr/bin/python#coding:gbk #python 运维练习 #需求: #1.利用python实现自动监控服务器性能 #2.并将监控到的数据进行 ...

  7. java 多线程 Callable -- 分段处理一个大的list 然后再合并结果

    本文代码参考 http://bbs.csdn.net/topics/391070227?page=1 下面是贴出的代码: public void dealListWithMutiThread(){ L ...

  8. 初入python 用户输入,if,(while 循环)

    python 基础 编译型: 一次性将所有程序编译成二进制文件. 缺点:开发效率低,不能跨平台 优点:运行速度快. :c ,c++语言 等等.... 解释行:当程序执行时,一行一行的解释. 优点:开发 ...

  9. cs231n spring 2017 Python/Numpy基础 (1)

    本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...

  10. ubuntu下查看-卸载软件(卸载.net core sdk的方法)

    查看已安装的包:dpkg --list 查看正则匹配的包:dpkg --list 'dotnet-*' //查看以dotnet-开头的包 卸载匹配的包:sudo apt-get --purge rem ...