git最简单直接粗爆与github教程

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使用;

 

原文地址:https://www.cnblogs.com/flowingwind/p/8379881.html